添加外部约束和不添加mysql表之间的差异

时间:2017-08-07 08:02:20

标签: php mysql

过去,我习惯于以编程方式建立表关系,这非常方便,因为您不需要对每个具有关系的表进行FK约束。

但是,我想知道给具有关系的表赋予FK约束的差异或优点是什么,而不是仅仅创建一个属性并以编程方式检索它们(调用其中field =另一个表PK的表)。

只是一些信息,我在php独立的MVC框架上工作,没有任何依赖于雄辩或其他东西。 希望有人给我一些简短的教训:D谢谢你,祝你有愉快的一天!

1 个答案:

答案 0 :(得分:2)

在编码和开发时应该遵循一些原则,我可以说,无论是否为具有关系的表创建外键约束都没有问题,但是您知道不会限制列只包含那些被它引用的值。所以基本上它不是一个好的DB Schema,可能会导致不一致。例如,删除父表的行,如果你有一个对 onDelete = cascade 的外键约束,你将不得不手动删除子表的行,你的数据库将自动处理所有事情和没有任何不一致之处。