我有下表:
Create Table if not exists Categories(
category_id int (10) primary key NOT NULL AUTO_INCREMENT,
category_name varchar (20) NOT NULL,
parent_category_id int (10) NOT NULL,
FOREIGN KEY (parent_category_id) REFERENCES Categories(category_id) ON DELETE CASCADE)
该表包含我网站上的每个类别 - 每个类别都有一个父类别(例如“计算机”是“编程”的父类别) 我有几个没有任何父类别的顶级类别 =>parent_category_id =0
我的问题是如何插入顶级类别的数据。 当我尝试这样做时:
INSERT INTO `databaseproject`.`categories` (`category_id` ,`category_name` ,`parent_category_id`)
VALUES (NULL , 'computers', '0')
我收到错误:
#1452 - Cannot add or update a child row: a foreign key constraint fails (`databaseproject`.`categories`, CONSTRAINT `categories_ibfk_1`
FOREIGN KEY (`parent_category_id`) REFERENCES `categories` (`category_id`) ON DELETE CASCADE)
如何插入这些类别?
最佳答案
使parent_category_id可为空,并且父类别的parent_category_id为空,或者添加id为0的根行。
关于mysql - 将第一个数据插入到递归sql表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16365401/