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

Ved dobbeltnøgleopdatering - flere kolonner

Nå, det her er gammelt. Men du behøver selvfølgelig kun at angive en værdi én gang , der er ingen grund til at tilføje det en anden gang i forespørgslen (hvilket er praktisk ved flere indsættelser eller forberedte udsagn):

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

Hvilket har en fordel, at det stadig vil fungere for en multiple insert-sætning:

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. Geninstaller Wamp Server uden at erstatte den eksisterende mysql-database

  2. MySQL- Wamp-serveren fungerer ikke efter win10-opgradering

  3. Jeg har flere forespørgsler, og jeg vil gerne flette alle forespørgselsresultater til den samme tabel

  4. Sådan finder du tabeller, der indeholder en specifik kolonne i SQL Server