Mysql
 sql >> Base de données >  >> RDS >> Mysql

MISE À JOUR avec SUM () dans MySQL

Malheureusement, vous ne pouvez pas mettre à jour une table jointe à elle-même dans MySQL .

Vous devrez créer une fonction comme solution de contournement :

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)