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

MySQL - zignoruj ​​błąd wstawiania:zduplikowany wpis

Możesz użyć WSTAW... IGNORUJ składnia, jeśli nie chcesz podejmować żadnych działań, gdy istnieje zduplikowany rekord.

Możesz użyć ZAMIEŃ NA składnia, jeśli chcesz zastąpić stary rekord nowym z tym samym kluczem.

Możesz też użyć WSTAW... NA DUPLIKACJI KLUCZ AKTUALIZACJA składnia, jeśli chcesz zamiast tego zaktualizować rekord, gdy napotkasz duplikat.

Edycja:pomyślałem, że dodam kilka przykładów.

Przykłady

Załóżmy, że masz tabelę o nazwie tbl z dwiema kolumnami, id i value . Jest jeden wpis, id=1 i value=1. Jeśli uruchomisz następujące stwierdzenia:

REPLACE INTO tbl VALUES(1,50);

Nadal masz jeden rekord, z id=1 wartość=50. Zauważ, że cały rekord został najpierw USUNIĘTY, a następnie ponownie wstawiony. Następnie:

INSERT IGNORE INTO tbl VALUES (1,10);

Operacja została wykonana pomyślnie, ale nic nie zostało wstawione. Nadal masz id=1 i value=50. Wreszcie:

INSERT INTO tbl VALUES (1,200) ON DUPLICATE KEY UPDATE value=200;

Masz teraz pojedynczy rekord o id=1 i value=200.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak konwertować małe litery na wielkie w MySQL

  2. Jak sprawić, by MySQL używał INDEXu do zapytań o widok?

  3. mysql - tworzenie mechanizmu podobnego do sekwencji Oracle

  4. Tożsamość .NET Core 2.1 pozyskuje wszystkich użytkowników wraz z przypisanymi im rolami

  5. Znalezienie następnego dostępnego identyfikatora w MySQL