sql >> Databasteknik >  >> RDS >> Mysql

Vid dubblettnyckeluppdatering - flera kolumner

Det här är gammalt. Men du behöver naturligtvis bara ange ett värde en gång , det finns ingen anledning att lägga till det en andra gång i frågan (vilket är praktiskt för flera infogningar eller förberedda satser):

INSERT INTO table1
  (col1, col2, col3, col4)
VALUES
  ('val1', 'val2', 'val3', 'val4')
ON DUPLICATE KEY UPDATE
  col2=VALUES(col2),
  col3=VALUES(col3) [,...]

Vilket har som fördel att det fortfarande fungerar för en multipel infogningssats:

INSERT INTO table1
  (col1, col2, col3, col4)
VALUES
  ('val1', 'val2', 'val3', 'val4'),
  ('val5', 'val6', 'val7', 'val8'),
  ('val9', 'val10', 'val11', 'val12')
ON DUPLICATE KEY UPDATE
  col2=VALUES(col2),
  col3=VALUES(col3) [,...]


  1. Hur får man tabellskript i Oracle SQL Developer?

  2. Returnera en boolean från en PHP-fil till AJAX one - Follow-knappen

  3. Hur COMPRESS() fungerar i MariaDB

  4. Handledning för Microsoft TreeView-kontroll