朋友们,我来找你们看看谁告诉我怎么知道一个表的auto_increment。
假设您id_campo
有 30 个值,但在删除大约 6 行后,它将保持在id_campo (24)
,但 auto_increment 为 31。
有没有办法auto_increment(31)
通过 SQL 查询来获得它,而不必创建另一个表来保存主表的最后一个 auto_increment 值?
朋友们,我来找你们看看谁告诉我怎么知道一个表的auto_increment。
假设您id_campo
有 30 个值,但在删除大约 6 行后,它将保持在id_campo (24)
,但 auto_increment 为 31。
有没有办法auto_increment(31)
通过 SQL 查询来获得它,而不必创建另一个表来保存主表的最后一个 auto_increment 值?
您可以运行以下查询。
如果您想要获取自动递增字段的最后一个值,而不是 information_schemes 中内存中的值,那么最好使用执行相同操作的查询
InnoDB
。鉴于:
r_categoria
id_categoria
我们运行这个查询:
该查询将返回最后一个现有值的 id。
如果您想获得即将到来的新值的值,只需向其添加一个即可:
在这种情况下,此查询将比必须读取的性能更高
INFORMATION.SCHEMES
,它直接作用于表。根据文档,这就是 InnoDB 初始化自动递增计数器的方式:
此操作无效。
事实证明,如果在表中删除了一条记录,对于引擎本身,它不会考虑它并继续使用它应该遵循的 ID,那么那时该方法对我们不起作用。