我有一张桌子可以存放杂货信息,例如:
id
typeid
groceryname
grocerydesc
每晚我将该表复制到一个新表中进行存档。 typeid字段引用第二个表,其中包含杂货类型选项:
id
typename
然后在杂货店表中我引用所选类型的id。我的问题是,一旦归档了如果在杂货类型表中更新了typename会发生什么?例如,假设在杂货类型表中有一个苏打水条目,然后存档。现在这个人把苏打水变成了水,现在档案中的所有条目都提到水是不正确的。处理这个问题的最佳方法是什么?我是否会获取类型名称并将其与杂货条目一起归档而不是类型ID?但是后来我通过文本而不是数值查询归档表,这不会更慢吗?或者我只是告诉他们你是否更改它,它还会更新存档表中的列表?
答案 0 :(得分:0)
这取决于您在表格中设置ON UPDATE
clausole的方式以及表格中的引擎类型。例如,如果设置ON UPDATE CASCADE并且表是innodb,如果更新主表中的值,则值也会在引用的表中更新。
您可以在此处详细了解此类行为:http://dev.mysql.com/doc/refman/5.5/en/innodb-foreign-key-constraints.html