Avatar billede beaviz_ Nybegynder
06. februar 2004 - 11:17 Der er 2 kommentarer

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.
Avatar billede beaviz_ Nybegynder
06. februar 2004 - 11:25 #1
har fundet ud af den SORRY
Avatar billede mortenfn Nybegynder
06. februar 2004 - 23:18 #2
ok så gil lige dig selv p
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester