sql >> Databáze >  >> RDS >> Mysql

Při aktualizaci duplicitního klíče – více sloupců

No, tohle je staré. Hodnotu však samozřejmě musíte zadat pouze jednou , není důvod jej do dotazu přidávat podruhé (což se hodí pro vícenásobné vložení nebo připravené příkazy):

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

Což má výhodu v tom, že bude stále fungovat pro vícenásobný příkaz vložení:

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. Jarní přechod zabezpečení na autentizaci Ldap a databázová oprávnění

  2. Jak potlačit INFO zprávy při spouštění skriptů psql

  3. Poslední provedené dotazy pro konkrétní databázi

  4. Co je STATISTICS TIME v SQL Server?