Als voorbeeld twee tabellen, A en B. Er kunnen nul of meer verwijzingen van tabel A naar B bestaan via een koppeltabel. Als een rij in A of B wordt gewist wordt ook de koppeltabel aangepast. Is het mogelijk om als een rij uit A wordt gewist de ‘bijbehorende’ rij uit B te verwijderen? Of moet dit in de code worden opgelost.
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| CREATE TABLE a ( id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, PRIMARY KEY(id) ) TYPE=InnoDB; CREATE TABLE b ( id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, PRIMARY KEY(id) ) TYPE=InnoDB; CREATE TABLE a_has_b ( a_id INTEGER UNSIGNED NOT NULL, b_id INTEGER UNSIGNED NOT NULL, PRIMARY KEY(a_id, b_id), FOREIGN KEY(a_id) REFERENCES a(id) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY(b_id) REFERENCES b(id) ON DELETE CASCADE ON UPDATE CASCADE ) TYPE=InnoDB; |
Developer Accused Of Unreadable Code Refuses To Comment