2013-04-08 45 views
0

如果你永远不会改变一个ID(更好地说:主键字段),是否有任何理由在数据库中使用约束条件ON UPDATE使用ON UPDATE约束的原因

+0

检查此链接可能会帮助您http://stackoverflow.com/questions/1481476/when-to-use-on-update-cascade – 2013-04-08 16:16:10

+0

谢谢。似乎没有理由(如果ID不改变)。我想说,俱乐部/乐队/音乐会的答案是糟糕的数据库设计。 – stofl 2013-04-08 16:34:25

回答

0

InnoDB允许外键引用任何索引列或一组列。因此,仅当您从未更改引用字段(而不是主键)时,则可以忽略此问题。

除此之外,如果你不需要它,不要使用它。注意:缺省行为(即,如果您省略ON UPDATE子句)是拒绝引用字段上的任何更新,从而防止您在不知不觉中破坏参照完整性。

+0

谢谢。我认为一个*被引用的字段*应该始终是主关键字或其在n:m关系表中的一部分,对吧? – stofl 2013-04-08 16:39:05

+1

@stofl是的,我可以想到没有必要更新代理键(最常见的主键类型)的情况。不过,让我来推荐你[这个答案](http://stackoverflow.com/a/1481611/1446005)。 – RandomSeed 2013-04-09 08:09:10

相关问题