Re: Foreign Keys Question
| From: | Colin Guthrie | Date: | Fri, 12 Dec 2008 14:50:00 +0000 |
| Subject: | Re: Foreign Keys Question | ||
| References: | 1 2 3 4 5 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-284539@lists.php.net to get a copy of this message | ||
'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/]