父类别无法删除

时间:2016-08-10 06:22:30

标签: php mysql

好的所以这是我的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)。

2 个答案:

答案 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的根类别。

然后,每当您删除父类别并且它具有相应的子类别时,它将返回外键约束错误

SQL Fiddle