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

Czy w MySQL mogę odroczyć sprawdzanie integralności referencyjnej do momentu zatwierdzenia?

Wygląda na to, że moja odpowiedź jest tutaj ...

Podobnie jak ogólnie MySQL, w instrukcji SQL, która wstawia, usuwa lub aktualizuje wiele wierszy, InnoDB sprawdza ograniczenia UNIQUE i FOREIGN KEY wiersz po wierszu. Podczas sprawdzania klucza obcego InnoDB ustawia współdzielone blokady na poziomie wiersza na rekordach podrzędnych lub nadrzędnych, na które musi się zwrócić. InnoDB natychmiast sprawdza ograniczenia klucza obcego; czek nie jest odroczony do zatwierdzenia transakcji. Zgodnie ze standardem SQL, domyślnym zachowaniem powinno być sprawdzanie odroczone. Oznacza to, że ograniczenia są sprawdzane dopiero po przetworzeniu całej instrukcji SQL. Dopóki InnoDB nie zaimplementuje odroczonego sprawdzania ograniczeń, niektóre rzeczy będą niemożliwe, na przykład usunięcie rekordu, który odwołuje się do siebie za pomocą klucza obcego.

Wróć do deski kreślarskiej.



  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 szukać ukośnika (\) w MySQL? i dlaczego ucieczka (\) nie jest wymagana dla gdzie (=), ale dla Like jest wymagana?

  2. Procedury przechowywania w phpMyAdmin

  3. Próba uzyskania własności nie-obiektowej - CodeIgniter

  4. Funkcje agregujące MySQL bez klauzuli GROUP BY

  5. Jak uzyskać dane z ostatniego miesiąca w MySQL?