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

W jakiej kolejności są przetwarzane ograniczenia ON DELETE CASCADE?

W prostszym przypadku, co się stanie, jeśli dokument zostanie usunięty z Dziecka i ma wujka? Nie jest to sprecyzowane, więc ograniczenia i tak zawodzą.

Jeśli usunięcie dziecka nie powoduje usunięcia jego wujków, to co się dzieje zamiast tego? Uncle.childid nie może mieć wartości null.

To, czego chcesz, to jedna z tych trzech rzeczy:

  1. Uncle.childid może mieć wartość null, a chcesz ON DELETE SET NULL dla childid.
  2. Uncle.childid nie może mieć wartości null i chcesz ON DELETE CASCADE dla childid.
  3. Potomek nie należy do wujka i chcesz mieć relację ChildsUncle z ograniczeniami klucza obcego ON DELETE CASCADE zarówno dla Child, jak i Uncle. Uncleid byłby kluczem kandydującym dla tej relacji (tj. powinien być unikalny).


  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 szybko zmienić nazwę bazy danych MySQL (zmienić nazwę schematu)?

  2. MySQL FULLTEXT nie działa z więcej niż jednym polem

  3. PDO-MySQL:wartości logiczne są konwertowane na 1 lub pusty ciąg po wiązaniu przygotowanych instrukcji

  4. Utwórz dynamiczne zapytanie mysql za pomocą zmiennych php

  5. pdo wstawia obraz bezpośrednio do bazy danych - zawsze wstawia BLOB - 0B