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

MySQL przy usuwaniu kaskadowym. Przykład testowy

Odpowiedź re. jest poprawne, wtedy i tylko wtedy, gdy silnik pamięci masowej faktycznie obsługuje i wymusza ograniczenia klucza obcego.

Jeśli tabele są tworzone za pomocą Engine=MyISAM , to ani b. lub re. jest poprawne.

Jeśli tabele są tworzone za pomocą Engine=InnoDB , a następnie d. jest poprawne.

UWAGA:

Dotyczy to InnoDB wtedy i tylko wtedy, gdy FOREIGN_KEY_CHECKS = 1; jeśli FOREIGN_KEY_CHECKS = 0 , a następnie DELETE z tabeli nadrzędnej (foo) nie usuń wiersze z tabeli podrzędnej (foo2), które odwołują się do wiersza usuniętego z tabeli nadrzędnej.

Sprawdź to za pomocą danych wyjściowych z SHOW VARIABLES LIKE 'foreign_key_checks' (1=WŁ, 0=WYŁ)(Zwykłe ustawienie domyślne to WŁ.)

Dane wyjściowe z SHOW CREATE TABLE foo pokaże, którego silnika używa tabela.

Dane wyjściowe z SHOW VARIABLES LIKE 'storage_engine' pokaże domyślny silnik używany, gdy tworzona jest tabela, a silnik nie jest określony.



  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 utworzyć złożony klucz podstawowy w MySQL

  2. Nieprawidłowy format daty i godziny:1292 Nieprawidłowa wartość daty i godziny

  3. Railsy na OSX 10.11 El Capitan:Biblioteka nie załadowana:libmysqlclient.18.dylib

  4. Skonfiguruj serwer pocztowy do pracy z PHP

  5. Jak przesłonić przypisanie automatycznego przyrostowego klucza podstawowego podczas wstawiania wartości w tabeli MySQL?