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

EINFÜGEN IN ... AUSWÄHLEN AUS ... BEI DUPLIKAT SCHLÜSSEL AKTUALISIEREN

MySQL übernimmt den Teil, bevor das Gleichheitszeichen die in der INSERT INTO-Klausel genannten Spalten referenziert, und der zweite Teil referenziert die SELECT-Spalten.

INSERT INTO lee(exp_id, created_by, location, animal, starttime, endtime, entct, 
                inact, inadur, inadist, 
                smlct, smldur, smldist, 
                larct, lardur, lardist, 
                emptyct, emptydur)
SELECT id, uid, t.location, t.animal, t.starttime, t.endtime, t.entct, 
       t.inact, t.inadur, t.inadist, 
       t.smlct, t.smldur, t.smldist, 
       t.larct, t.lardur, t.lardist, 
       t.emptyct, t.emptydur 
FROM tmp t WHERE uid=x
ON DUPLICATE KEY UPDATE entct=t.entct, inact=t.inact, ...