sql >> Database >  >> RDS >> Mysql

In welke volgorde worden ON DELETE CASCADE-beperkingen verwerkt?

In het eenvoudigere geval, wat gebeurt er als een record wordt verwijderd uit Kind en het een verwijzende oom heeft? Dat is niet gespecificeerd, dus daarvoor schieten de beperkingen sowieso niet op.

Als het verwijderen van een kind zijn ooms niet verwijdert, wat gebeurt er dan in plaats daarvan? Uncle.childid kan niet null zijn.

Wat je wilt is een van deze drie dingen:

  1. Uncle.childid kan null zijn, en je wilt ON DELETE SET NULL voor childid.
  2. Uncle.childid kan niet null zijn, en je wilt CASCADE VERWIJDEREN voor childid.
  3. Childid hoort niet bij Uncle, en je wilt een ChildsUncle-relatie met ON DELETE CASCADE externe sleutelbeperkingen voor zowel Child als Uncle. Uncleid zou een kandidaatsleutel zijn voor die relatie (d.w.z. het zou uniek moeten zijn).


  1. Organiseer uw thuiskantoor voor meer productiviteit

  2. Spaties uit een string verwijderen in MySQL

  3. Percona XtraBackup vergelijken met MySQL Enterprise Backup:deel één

  4. WHERE-instructie na een UNION in SQL?