PDA

View Full Version : سوال: خطای 1452 - موقع تعریف کلید خارجی



masudafsar
سه شنبه 06 خرداد 1393, 16:10 عصر
سلام من هنگام تعریف کلید خارجی با این خطا مواجه می شم :


#1452 - Cannot add or update a child row: a foreign key constraint fails (`atlas`.`#sql-924_533`, CONSTRAINT `fnk_option_cats_pcat_id` FOREIGN KEY (`pcat_id`) REFERENCES `product_cats` (`id`) ON DELETE SET NULL ON UPDATE CASCADE)

این هم کد sql جداول :

CREATE TABLE IF NOT EXISTS `option_cats` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(250) COLLATE utf8_unicode_ci NOT NULL,
`cat_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=6 ;

CREATE TABLE IF NOT EXISTS `product_cats` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(200) COLLATE utf8_unicode_ci DEFAULT NULL,
`parent_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=9 ;

این هم کد تعریف کلید خارجی:
ALTER TABLE `option_cats`
ADD CONSTRAINT `fnk_option_cats_pcat_id`
FOREIGN KEY ( `pcat_id` )
REFERENCES `atlas`.`product_cats`
( `id` )
ON DELETE SET NULL
ON UPDATE CASCADE ;

masudafsar
یک شنبه 11 خرداد 1393, 00:01 صبح
خیلی ممنون از همکاری تون حل شد! :ناراحت:

مجبور شدم ساختار رو عوض کنم