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

Mettre à jour si la ligne existe, sinon insérer une nouvelle ligne dans une autre table

Si vous spécifiez ON DUPLICATE KEY UPDATE , et une ligne est insérée qui entraînerait une valeur en double dans un UNIQUE index ou PRIMARY KEY , une UPDATE de l'ancienne rangée est effectuée. Par exemple, si la colonne a est déclarée comme UNIQUE et contient la valeur 1, les deux instructions suivantes ont le même effet :

INSERT INTO table (a,b,c) VALUES (1,2,3)
  ON DUPLICATE KEY UPDATE c=c+1;

UPDATE table SET c=c+1 WHERE a=1;