Mysql
 sql >> Baza danych >  >> RDS >> Mysql

wstaw przy aktualizacji zduplikowanego klucza

Uważam, że odpowiedź na to jest zawarta w MySQL dokumenty :

Jeśli tabela zawiera AUTO_INCREMENT kolumna i INSERT ... UPDATE wstawia wiersz, LAST_INSERT_ID() funkcja zwraca AUTO_INCREMENT wartość. Jeśli zamiast tego instrukcja aktualizuje wiersz, LAST_INSERT_ID() nie ma znaczenia. Możesz jednak obejść ten problem, używając LAST_INSERT_ID(expr) . Załóżmy, że identyfikator to AUTO_INCREMENT kolumna. Aby wykonać LAST_INSERT_ID() istotne dla aktualizacji, wstaw wiersze w następujący sposób:

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. Instrukcja MYSQL If w transakcji powodująca błąd

  2. Wybierz określone wiersze i kolumny z bazy danych SQL

  3. Dlaczego jdbcTemplate.batchUpdate() Springa jest tak powolny?

  4. Nie zdefiniowano stałej PHP

  5. Dodaj klucz obcy do istniejącej tabeli