当我从mysql中删除一些数据时,我有一个表单将数据插入mysql works fine.But,并再次将值插入数据库--自动增量值是从上一行值开始的。ForExample:
如果我在mydatabse中有1,2,3,4,5作为id,如果我从数据库中删除4和5个id,并开始从插入下一个数据。身份证从六点开始.但是我需要得到id为4 .can,任何一个预先给suggestions.Thanks。
发布于 2013-08-23 08:05:34
恐怕MySQL不允许您像这样“重置”AUTO_INCREMENT字段。如果需要这种行为,就必须停止使用AUTO_INCREMENT并手动生成ID。
发布于 2013-08-23 08:08:32
自动增量不能(也不能)保证序列不中断。
您可以自己将其实现为"SELECT MAX(ID) + 1 FROM MYTABLE;"
但要注意:你会受到轻微但明显的性能打击。
还可以通过在单独的表中运行自己的计数器来实现这一点。您必须有程序逻辑才能在删除时正确地减少此值,而且,由于“计数器”将成为争用的对象,您将再次获得性能热和死锁风险。
发布于 2013-08-23 08:10:11
您不应该在生产环境中使用AUTO_INCREMENT值,让MySQL为您照顾它的价值。
如果您需要知道您有多少行可以使用
SELECT COUNT(id) FROM tbl;无论如何,如果您真的想要更改它的值,语法是:
ALTER TABLE tbl AUTO_INCREMENT=101;https://stackoverflow.com/questions/18397754
复制相似问题