MySQL 是否有内置的行版本控制机制?类似于 MS SqlServer 中的“时间戳”列。
问问题
4744 次
2 回答
2
Mysql 没有内置的行版本控制机制。虽然使用时间戳类型可能看起来没问题,但是对于同时更新多行并且花费比时间戳的分辨率更长的查询,您将犯此错误,因为分配的值是基于更改的开始而不是结束改变。
因此,如果您的更新查询影响 100 行,所有行都将具有相同的时间戳(例如值 2015-10-28 09:47:10.123456)。但是,这些行可能要到 2015-10-28 09:47:10.654321 才能完成写入。
如果您要根据其他时间戳(例如 2015-10-28 09:47:10.500000)单独查找所有更改的行,您将不会得到您想要的结果。根据您的代码,您可能会错过更改的 100 行。
事实上,现在对行的更改可能在过去有一个时间戳,您不能简单地比较 2 个时间戳来获取所有更改的行。
于 2015-10-28T10:02:50.270 回答
1
如果您添加“时间戳”字段,它会在您更新行时自动更新 - 虽然不完全是版本控制,但听起来可能是您所追求的。
于 2009-12-17T10:37:50.970 回答