处理级联碰撞?

时间:2012-08-22 09:21:15

标签: php mysql user-experience cascade collision

我有一个设置,我们有类别,

每个类别都有一个标题和一个parent_id。

创建/编辑类别时,我们会检查以确保没有具有相同parent_id的类别具有相同的名称。

这很容易。 但现在我正在努力删除类别。

类别可以有无限级别。所以,如果我们删除一个类别,它的子类别会被移动到父类别。这工作正常,但我不知道在碰撞发生时该怎么办。

我应该在删除页面上进行预先检查并禁用删除按钮,并使用以下内容:

  

此类别无法删除,因为它会在 parent_of_current->某种类别之间产生冲突,然后当前 - >某些类别请删除或重命名这些类别。

或者我应该发出警告:

  

此操作会在 parent_of_current->某种类别之间产生冲突,然后当前 - >某些类别继续也将删除当前 - &gt ;某事类别!

或者我还能做些什么吗?

说实话,我喜欢第二种选择,但我认为如果它再次发生碰撞,可能会在链条的下游遇到同样的问题。

1 个答案:

答案 0 :(得分:1)

我会重命名违规类别,以表明需要注意。即将销售转移到Sales已存在的位置,它变为Sales-1或Sales-2,因此用户需要重命名它,并防止数据丢失。 (比如将文件复制并粘贴到同一目录中)这样你就可以知道原文是哪一个。