'Twas brillig, and tedd at 12/12/08 14:36 did gyre and gimble:
That's neat and a lot more powerful than I thought. It's like following
a linked list to it's end while removing all traces of the thread.
Exactly
And I understand the "instructor delete" was not intended.
Yeah indeed. I had a db structure in my head and the statement made
vague sense with that in mind, but it totally failed to leak through my
hands on to the keyboard :P
There are three main options here:
* ON DELETE CASCADE (if the FK's referenced table has it's record
deleted, delete the record here too).
* ON DELETE RESTRICT (if the FK's referenced table has it's record
deleted stop that whole transaction - e.g. *prevent* the delete).
* ON DELETE SET NULL (if the FK's referenced table has it's record
deleted, set this tables reference to NULL).
All three are useful in different contexts. I use them extensively to
ensure good data integrity. The trade off on extra load on insert/update
is IMO well worth it.
Col
--
Colin Guthrie
gmane(at)colin.guthr.ie
http://colin.guthr.ie/
Day Job:
Tribalogic Limited [http://www.tribalogic.net/]
Open Source:
Mandriva Linux Contributor [http://www.mandriva.com/]
PulseAudio Hacker [http://www.pulseaudio.org/]
Trac Hacker [http://trac.edgewall.org/]
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php