sql >> Databasteknik >  >> RDS >> Mysql

I vilken ordning behandlas ON DELETE CASCADE-begränsningar?

I det enklare fallet, vad händer om en post raderas från Child och den har en refererande farbror? Det är ospecificerat, så begränsningarna misslyckas för det ändå.

Om att ta bort ett barn inte tar bort dess farbröder, vad händer då istället? Uncle.childid kan inte vara null.

Vad du vill ha är en av dessa tre saker:

  1. Uncle.childid kan vara null, och du vill ON DELETE SET NULL för childid.
  2. Uncle.childid kan inte vara null, och du vill ha ON DELETE CASCADE för childid.
  3. Childid hör inte hemma på Uncle, och du vill ha en ChildsUncle-relation med ON DELETE CASCADE främmande nyckelbegränsningar för både Child och Uncle. Uncleid skulle vara en kandidatnyckel för den relationen (dvs. den ska vara unik).


  1. Att hyra ut bilar är lika enkelt som att köra:En datamodell för ett biluthyrningsföretag

  2. hitta det N:e största elementet i SQL

  3. MySQL på Azure Performance Benchmark – ScaleGrid vs. Azure Database

  4. MySQL-felkod:1411. Felaktigt datetime-värde:'' för funktionen str_to_date