problemer med ON DELETE SET NULL
Jeg har følgende 2 tabeller i DB:CREATE TABLE `kategorigenre` (
`kategori` int(3) NOT NULL default '0',
`genre` int(3) NOT NULL auto_increment,
`genretype` varchar(20) NOT NULL default '',
PRIMARY KEY (`kategori`,`genre`),
KEY `fk_kategori-genre_kategorier_kategorinr` (`kategori`),
KEY `fk_kategori-genre_genrer_genrenr` (`genre`),
CONSTRAINT `0_518` FOREIGN KEY (`kategori`) REFERENCES `kategorier` (`kategorinr`) ON DELETE CASCADE
) TYPE=InnoDB ROW_FORMAT=DYNAMIC;
CREATE TABLE `produkter` (
`stregkode` bigint(5) NOT NULL default '0',
`titel` varchar(30) NOT NULL default '',
`pris` double(5,2) NOT NULL default '0.00',
`kategori` int(3) NOT NULL default '0',
`genre` int(3) NOT NULL default '0',
`antal` int(2) NOT NULL default '0',
PRIMARY KEY (`stregkode`),
KEY `fk_produkter_kategorigenre_kategori` (`kategori`),
KEY `fk_produkter_kategorigenre_genre` (`genre`),
KEY `fk_produkter_kategorigenre_titel` (`titel`),
CONSTRAINT `0_520` FOREIGN KEY (`genre`) REFERENCES `kategorigenre` (`genre`) ON DELETE SET NULL,
CONSTRAINT `0_521` FOREIGN KEY (`kategori`) REFERENCES `kategorigenre` (`kategori`) ON DELETE SET NULL
) TYPE=InnoDB ROW_FORMAT=DYNAMIC;
Men når jeg kører scriptet får jeg følgende fejl:
"[MySql Server DMO Error][ErrNo:1005][Description: Can't create table '.\test\produkter.frm' (errno: 150)]"
Det jeg gerne ville have er, at når jeg sletter en række fra tabellen "kategorigenre" så skal den i tabellen "produkter" sætte felterne kategori og genre til NULL
jeg bruger mysql-4.0.17-win, og efter hvad jeg har fundet frem til supporter den constraints.