Mysql
 sql >> база данни >  >> RDS >> Mysql

При актуализация на дублиран ключ - множество колони

Е, това е старо. Но, разбира се, трябва само да предоставите стойност веднъж , няма причина да го добавяте втори път в заявката (което е полезно за множество вмъквания или подготвени изрази):

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

Което има предимство, че все още ще работи за оператор с множество вмъквания:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Има ли начин да се покаже клауза WHERE само за едно поле в MySQL?

  2. По-бърз начин за изтриване на съвпадащи редове?

  3. Намиране/търсене на липсващи стойности в MySQL

  4. Използване на HTML квадратче за отметка за поставяне на 1 или 0 в MySQL таблица

  5. Как да направите пълно външно присъединяване в MySQL