【发布时间】:2012-02-22 10:43:39
【问题描述】:
我是一个相当新的 php 程序员,似乎无法弄清楚在我的 MySQL 数据库中插入记录时哪里出错了:
我的测试脚本(用于学习目的)调用 eBay API 并将请求的信息下载到 MySQL 数据库中,但我似乎遇到了脚本在自动增量上跳过 ID 的问题。从我在这里阅读的内容来看,这通常是记录已被删除的情况,但对我而言并非如此,因为没有删除任何记录,而且差距越来越大。
我的问题是:是否有其他东西可以导致 id 跳过随机数?
数据库示例: 数字从 1 到 21 运行良好,但随后变为:28、43、51、55、58 我已经检查了,下一个要添加的应该是 59:
show create table 'tbl'
【问题讨论】:
-
向我们展示您的 php 代码、sql 插入和表创建
-
失败/回滚的交易也会导致这种情况。 ID 不会重复使用/回收。缺乏顺序性会导致问题吗?
-
你在通过插入查询传递 id 吗???
-
嗨,戴夫,我会发布这个,但它有很多敏感数据,如果有帮助,我可以通过电子邮件发送它吗?但我正在寻找更多信息,然后是快速修复。感谢您的宝贵时间
-
没有办法阻止它。这就是您的数据库的工作方式。使用它自己的字段来跟踪它。让它独一无二,这样你就知道没有重复。请每个问题只问一个问题。如果你愿意,你可以分开问两个(我删除了第二个问题)
标签: php mysql auto-increment