我在MySQL中构建了一个大型数据库,并使用SQLYog创建了表之间的所有关系。这一切都很好,但在我构建的PHP站点中,从数据库中删除行时经常遇到麻烦,我经常遇到参照完整性约束。所以然后我尝试删除数据或首先将链接表中的字段设置为NULL。我通常可以通过一些试验和错误来解决问题,但似乎没有任何方法或适当的过程来执行此操作。我应该使用'在删除集NULL或级联删除设置'?我不知道该使用哪一个,担心它可能会删除其他表中的重要数据。MySQL关系和约束,我应该使用它们吗?
人们是否打算在数据库中设置关系约束?我的意思是做一个删除似乎更容易,然后写一些额外的行来更新在PHP代码中链接到它的其他表。
任何帮助将不胜感激。
我倾向于为我的数据库添加尽可能多的约束条件:破损的代码是暂时的,破碎的数据是永久的。是的,管理你的约束可能很困难,但由于缺乏约束可能无法清理破损的数据库。 – 2011-02-25 06:33:14
事实上,只需要进行一次死亡游行就可以了解完整性检查的重要性,其中包括一个令人发指的破坏数据库设计。数据库不应该信任中间层,中间层不应该信任表示层。 – Thomas 2011-02-25 07:04:40