如何在Mysql中选择最大主键自动增量?

时间:2017-06-09 14:03:20

标签: mysql max auto-increment

如果我从表中删除了最大ID(例如9,10,11),sql将不会从最大现有ID开始!它从12开始!

  1. 是否可以让sql根据现有的最大ID添加新ID?
  2. 如何获取表中的最大主键自动增量(已删除的那个)?
  3. 此代码仅查找现有内容而不是已删除的ID:

    select max(id) from table1
    

1 个答案:

答案 0 :(得分:3)

  

如果从表中删除最大ID(例如9,10,11),则sql不会从最大现有ID开始!它从12开始!

这是正确的。这没有什么令人惊讶或惊叹的。这就是RDBMS的工作方式。

  

1-是否可以让sql根据现有的max id添加新的id?

根本不容易。事实上,它是如此困难,并且任何尝试这样做都会与您正在使用的特定RDBMS绑定(即,不可移植),建议您甚至不要尝试。这是因为RDBMS是为高度并发使用而构建的,因此它们必须能够防止不同客户端插入不一致的主键值。

  

2-如何在表格中获得最大主键自动增量

表"中确实没有" max主键自动增量这样的东西,因为当有人在表中插入行时,它可能会以非常快的速度变化,所以当你的时候select max(id) from table1会向您返回一个值,数据库中的实际最大值可能已经不同了。