MYSQL插入记录跳过ID(自动增量)

时间:2012-01-30 16:32:23

标签: php mysql auto-increment

我是一个新的php程序员,似乎无法弄清楚我在将记录插入MySQL数据库时出错:

我的测试脚本(用于学习目的)调用eBay API并将所请求的信息下载到MySQL数据库中,但我似乎遇到了脚本在自动增量上跳过ID的问题。从我在这里阅读的内容来看,这通常是在删除记录的情况下,但对我来说情况并非如此,因为没有删除记录,差距越来越大。

我的问题是:是否有其他可能导致id跳过随机数的内容?

数据库示例: 数字从1-21开始就好了,但随后又开始了:28,43,51,55,58 我已经检查过,接下来应该是59:

show create table 'tbl'

2 个答案:

答案 0 :(得分:4)

您的代码是否使用了交易?如果回滚插入该表的事务,即使事务回滚,它也不会回滚身份计数器。

请参阅此问题:MySQL table with AUTO_INCREMENT primary id does not release the number after a rollback

答案 1 :(得分:0)

我有点猜测代码会是什么样子,因为我现在正在使用PayPal API,但是这里有一种方法可以让auto_increment做它的工作

这是我的INSERT命令的样子,它一直在工作。但提供一些代码肯定会有所帮助。

"INSERT INTO `table` (auto_increment_id, field1, field2, field3) VALUES ('','$field1','$field2','$field3')";
  

如果你将第一个()留空,只需在VALUES之后输入值   你必须和各个领域一起去,但是我告诉你的方式,你说   哪个领域应该得到什么价值。

要连接到实时数据库,您可以使用SQLite。它们被称为数据库浏览器。