sql >> データベース >  >> RDS >> Mysql

MySQLでSUM()を使用して更新する

    残念ながら、MySQLでそれ自体と結合されたテーブルを更新することはできません 。

    回避策として関数を作成する必要があります:

    DELIMITER $$
    
    CREATE FUNCTION `fn_get_sum`(_id INT) RETURNS int(11)
    READS SQL DATA
    BEGIN
          DECLARE r INT;
          SELECT  SUM(s_val)
          INTO    r
          FROM    table_name
          WHERE   id = _id;
          RETURN r;
    END $$
    
    DELIMITER ;
    
    UPDATE  table_name
    SET     par = fn_get_sum(id)
    


    1. mysqli-非オブジェクトmysqliでのメンバー関数fetch_array()へのfetch_Arrayエラー呼び出し

    2. centos7のmariadb10でopen-files-limitを増やすことはできません

    3. MySQLの2つの時間フィールドからの分単位の違い

    4. 主キーテーブルの行が重複しています。