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

SUR LA MISE À JOUR DE LA CLÉ EN DOUBLE avec la condition WHERE

L'utilisation de IF() devrait fonctionner, même si ce n'est pas agréable :

INSERT INTO table1 SET 
 field1=aa, 
 field2=bb, 
 field3=cc 
ON DUPLICATE KEY UPDATE SET 
 field1 = IF( field4 = zz, aa, field1 ),
 field2 = IF( field4 = zz, bb, field2 ),
 field3 = IF( field4 = zz, cc, field3 )

Ne mettez à jour les champs avec de nouvelles valeurs que si la condition est remplie, sinon conservez les anciennes.