sql >> Database teknologi >  >> RDS >> Mysql

PÅ DUBLIKAT NØGLEOPDATERING med WHERE-tilstand

Brug af IF() burde virke, selvom det ikke er rart:

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 )

Opdater kun felterne med nye værdier, hvis betingelsen er opfyldt, ellers behold de gamle.




  1. mysql GROUP_CONCAT dubletter

  2. Hvordan får man tabelscript i Oracle SQL Developer?

  3. Sletning af dublerede rækker fra en tabel

  4. Flyt node i træet Indlejrede sæt