没有重复条目时mysql重复输入错误(通过php批量加载)

6 php mysql truncate rename mysql-error-1062

我正在使用mysql(5.0.32-Debian_7etch6-log),我有一个夜间运行的批量加载php(5.2.6)脚本(通过PDO 使用Zend_DB(1.5.1)),它执行以下操作:

  1. 截断一组4'导入'表
  2. 批量插入这些4'导入'表中的数据(重新使用以前在表中的ID,但我截断了整个表,所以这不应该是一个问题,对吧?)
  3. 如果一切顺利,将'live'表重命名为'temp',将'import'表重命名为'live',然后将'temp'(旧'live')表重命名为'import'

这个工作好几周了.现在我偶尔得到这个,在整个批量加载过程中的某个地方:

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '911' for key 1

请注意,这不是截断前已经在表中的第一个id.当我再次手动启动脚本时,它就像一个魅力.

有任何想法吗?剩下的索引,可能与重命名有关吗?

另外,当我在表格中检查后面带有id 911的条目时,它甚至不在那里.

Gre*_*reg 0

当您的导入脚本运行时,是否可能有其他脚本插入到数据库中?