On update cascade problem i samme tabel
Hejsa.Jeg har problemer med at opdatere rows i min menutabel. Det bunder i en foreign key til samme tabel med constraint på.
Spørgsmålet er så, gør jeg ikke det rigtige, siden jeg ikke kan opdatere id's der indgår i andre parents ?
Her er sql'en:
CREATE TABLE `tblMenu` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`linktext` varchar(100) NOT NULL,
`linkhref` varchar(255) DEFAULT null,
`area` varchar(50),
`page_id` bigint(20) UNSIGNED DEFAULT null,
`parent` bigint(20) UNSIGNED DEFAULT null,
`tab_id` int(11) UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY(`id`),
INDEX `fki_tab_id`(`tab_id`),
INDEX `fki_page_id`(`page_id`),
INDEX `fki_parent`(`parent`),
CONSTRAINT `fk_tblMenu_tab_id` FOREIGN KEY (`tab_id`)
REFERENCES `tblTabs`(`id`)
ON DELETE RESTRICT
ON UPDATE CASCADE,
CONSTRAINT `fk_tblMenu_page_id` FOREIGN KEY (`page_id`)
REFERENCES `tblPages`(`id`)
ON DELETE RESTRICT
ON UPDATE CASCADE,
CONSTRAINT `fk_tblMenu_parent` FOREIGN KEY (`parent`)
REFERENCES `tblMenu`(`id`)
ON DELETE RESTRICT
ON UPDATE CASCADE
)
ENGINE=INNODB;
Test data:
INSERT INTO `tblMenu` VALUES
(1, 'Velkommen', DEFAULT, 'public', 1, DEFAULT, 1),
(2, 'Under velkomst', DEFAULT, 'public', 2, 1, 1);
UPDATE `tblMenu` SET id=3 WHERE id=1;
