我正在使用mysql(5.0.32-Debian_7etch6-log),我有一个夜间运行的批量加载php(5.2.6)脚本(通过PDO 使用Zend_DB(1.5.1)),它执行以下操作:
截断一组4'导入'表
批量插入这些4'导入'表中的数据(重新使用以前在表中的ID,但我截断了整个表,所以这不应该是一个问题,对吧?)
如果一切顺利,将'live'表重命名为'temp',将'import'表重命名为'live',然后将'temp'(旧'live')表重命名为'import'
这个工作好几周了.现在我偶尔得到这个,在整个批量加载过程中的某个地方:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '911' for key 1
请注意,这不是截断前已经在表中的第一个id.当我再次手动启动脚本时,它就像一个魅力.
有任何想法吗?剩下的索引,可能与重命名有关吗?
另外,当我在表格中检查后面带有id 911的条目时,它甚至不在那里.