Ik ben momenteel bezig met een applicatie waarbij is gebruik maak van MySQL. Ik heb tabel a als volgt definieerd:
En ik heb tabel b:
a is hierbij een tabel met categorien en b een tabel met subcategorien. Nu was ik van mening dat ik door de foreign key constructie ik een record uit a kon verwijderen en dat de records in b die naar de verwijderde identifier verwijzen worden verwijderd. Na een probeerpoging in PHPMyAdmin bleek dit niet het geval.
Nu heb ik op internet kunnen vinden dat in de innoDB engine dit zou moeten kunnen, maar ivm snelheid gebruik ik nu eigenlijk liever MyISAM, niet in de laatste plaats omdat de server waar ik op werk geen innoDB ondersteunt. Versie is 3.23.54. Ik was in de veronderstelling dat MyISAM ook foreign key's aankon, maar ik kan daar nergens uitsluitsel over vinden. Kan iemand hier mij daar uitsluitsel over geven?
code:
1
2
3
4
5
| create table a ( a_id int not null auto_increment, a_naam vachar(255) not null, primary key (a_id) ); |
En ik heb tabel b:
code:
1
2
3
4
5
6
7
| create table b ( b_id int not null auto_increment, b_a int not null, b_naam varchar(255) not null, foreign key (b_a) references a(a_id) on delete cascade on update cascade, primary key (b_id) ); |
a is hierbij een tabel met categorien en b een tabel met subcategorien. Nu was ik van mening dat ik door de foreign key constructie ik een record uit a kon verwijderen en dat de records in b die naar de verwijderde identifier verwijzen worden verwijderd. Na een probeerpoging in PHPMyAdmin bleek dit niet het geval.
Nu heb ik op internet kunnen vinden dat in de innoDB engine dit zou moeten kunnen, maar ivm snelheid gebruik ik nu eigenlijk liever MyISAM, niet in de laatste plaats omdat de server waar ik op werk geen innoDB ondersteunt. Versie is 3.23.54. Ik was in de veronderstelling dat MyISAM ook foreign key's aankon, maar ik kan daar nergens uitsluitsel over vinden. Kan iemand hier mij daar uitsluitsel over geven?
[ Voor 5% gewijzigd door wackmaniac op 07-07-2006 11:38 ]
Read the code, write the code, be the code!