-1

----exception----

(1062, "Duplicate entry '1711076-314274483' for key 'uk_thread_mail'")

这是我在日志中打印的异常。

关键是UNIQUE KEY uk_thread_mail (thread_id, mail_id)

日志似乎告诉我,我已经将元组值 (thread_id, mail_id) 设为 (1711076, 314274483),但是当我检查表时,我找不到任何匹配 thread_id=1711076 和 mail_id=314274483 的行。

我真的很想知道为什么会这样。


我的代码如下所示:

for r, s in rs:
    try:
        store.execute("insert into table_x (thread_id, mail_id) values (%s, %s)", (r, s))
    except Exception, e:
        print e
        store.rollback()
    store.commit()

rs 中的行永远不能重复,因为 mail_id 来自另一个表的主键。

4

2 回答 2

0

我最近遇到了类似的问题。

最终这是由于将 bigint(在源中)转换为 int(在目标中)。并导致插入“重复条目”。

如果您有类似的铸造问题,那可能是您的问题。

于 2013-05-29T14:35:48.957 回答
0

这听起来不太可能(除非您执行评论中提到的重复插入)。您可以尝试删除键或重建索引。

于 2013-05-13T15:39:52.543 回答