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

вмъкнете при актуализация на дублиран ключ

Вярвам, че отговорът на това е адресиран в MySQL документи :

Ако таблица съдържа AUTO_INCREMENT колона и INSERT ... UPDATE вмъква ред, LAST_INSERT_ID() функцията връща AUTO_INCREMENT стойност. Ако вместо това операторът актуализира ред, LAST_INSERT_ID() не е смислено. Можете обаче да заобиколите това, като използвате LAST_INSERT_ID(expr) . Да предположим, че id е AUTO_INCREMENT колона. За да направите LAST_INSERT_ID() има значение за актуализации, вмъкнете редове, както следва:

INSERT INTO table (a,b,c) VALUES (1,2,3)
  ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id), c=3;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cronjob всяка минута

  2. Как да съхранявате дата-час в UTC в база данни с помощта на EclipseLink и Joda-Time?

  3. Несъответствие на типа:Не може да се преобразува от int в ResultSet

  4. Отключване на таблици, ако нишката е загубена

  5. актуализирайте стойности от две таблици със същия pcode и id