我创建了一个新表 (my_new_table
),具有自动递增 PK。
SELECT `AUTO_INCREMENT`
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'myschema'
AND TABLE_NAME = 'my_new_table';
结果:1
,正常。
我 INSERT
将来自另一个表的 871 个值插入到该表中。然后我进行这两个查询中的任何一个:
SELECT MAX(id) FROM my_new_table;
SELECT count(*) FROM my_new_table;
结果:871
。好的。
但是当我再次检查 AUTO_INCREMENT
时:
SELECT `AUTO_INCREMENT`
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'myschema'
AND TABLE_NAME = 'my_new_table';
结果:1024
。
为什么 AUTO_INCREMENT
的值是 1024
而不是 872
?
提前致谢
最佳答案
这可能是由于 Mysql
2 个变量 auto_increment_increment
和 auto_increment_offset
这两个变量的值默认为 1。您对值进行了任何更改。
所以请让这两个变量的值 auto_increment_increment
和 auto_increment_offset
1
。
SET @@auto_increment_increment=1;
SET @@auto_increment_offset=1;
关于大量 INSERT 后 MySQL auto_increment 变得疯狂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44945956/