Mysql
 sql >> Datenbank >  >> RDS >> Mysql

UPDATE mit SUM() in MySQL

Leider können Sie in MySQL keine mit sich selbst verknüpfte Tabelle aktualisieren .

Als Problemumgehung müssen Sie eine Funktion erstellen:

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)