好的所以这是我的category-subcategory表,如下所示:
cat_id | cat_name | parent | cat_status | parent_id
1 | Mens | -- | Active | 0
2 | Womens | -- | Active | 0
3 | Shoes | Mens | Active | 1
问题:
好的现在我直接删除"Mens"
类别,应该提示您可以'删除Mens,你需要删除包含"Mens"
的第一个子类别(在我的情况下,我需要删除Shoes First)。
答案 0 :(得分:2)
您必须在删除操作之前检查现有的子类别可用性。 您可以进行ajax调用并检查子类别是否存在"从表WHERE parent_id =?"中选择cat_id 如果您找到了结果,则可以提醒或提示用户该子类别可用。
答案 1 :(得分:0)
您可以创建一个表,其中包含引用相同表id的外键
EX;
创建表category_demo( cat_id int auto_increment NOT NULL, parent_id int DEFAULT NULL, label varchar(100)not null default'', 主键(cat_id), 外键(parent_id)引用了更新级联上的删除RESTRICT上的category_demo(cat_id) );
插入父类ID为NULL的根类别。
然后,每当您删除父类别并且它具有相应的子类别时,它将返回外键约束错误