一尘不染

MySQL AUTO_INCREMENT不会回滚

mysql

我正在使用MySQL的AUTO_INCREMENT字段和InnoDB支持事务。我回滚事务时注意到,AUTO_INCREMENT字段未回滚吗?我发现它是按这种方式设计的,但是有没有解决方法?


阅读 303

收藏
2020-05-17

共1个答案

一尘不染

让我指出一些非常重要的事情:

您永远不要依赖自动生成键的数字功能。

也就是说,除了将它们的相等性(=)或不相等性(<>)进行比较之外,您不应做任何其他事情。没有关系运算符(<,>),没有按索引排序等。如果需要按“添加日期”排序,请在“添加日期”列中添加。

将它们当作苹果和橙子:问一个苹果是否和橙子一样有意义吗?是。询问苹果是否大于橙子是否有意义?否。(实际上,确实可以,但是您明白我的意思。)

如果您遵守此规则,则自动生成索引的连续性差异不会引起问题。

2020-05-17