2012-06-26 217 views
0

我正在使用cfwheels(coldfusion orm框架)。插入到mysql数据库时出错

我最近将一些数据从我之前的主机移到了新的主机上。现在,我试图插入表中,但我得到一个错误信息:“错误执行数据库查询 重复条目‘13651’关键‘PRIMARY’。”

我看着到数据库中,它会出现一个记录ID 13651已经存在。所以我认为问题是使用mysql生成正确的自动增量值。

+0

检查字段是否仍然自动递增。 –

+0

它仍然自动增亮 – yomexzo

+0

如果手动编写插入语句为null作为主键,会发生什么情况? –

回答

4

看来Auto_Increment值已损坏或未设置为该列中的最大值。这可能是由于批量插入。

因此,根据解决方案,将最大PK值+ 1设置为新的AUTO_INCREMENT值。现在当你在这个表格中插入记录时,他们会自动选择正确的下一个记录。

ALTER.TABLE tablename AUTO_INCREMENT = value 
+0

谢谢......它解决了我的问题......(y)。我的插页现在工作正常 – yomexzo

+0

我需要至少15个声望才能投票 – yomexzo

+0

但是,您可以通过单击我的答案前的右侧符号来接受答案。 –

0

该记录的其余数据是否与您尝试插入的数据相同?如果你可能只需要告诉ORM取代那个值?

+0

他们是不同的...完全 – yomexzo

0

如果主键已启用自动递增属性,请勿手动插入。从插入查询中移除该主键部分(无论根据ORM框架的口味如何)。

+0

它不插入ID ...它曾经正常工作..它迁移数据后开始这个错误 – yomexzo

+0

噢好吧,所以问题是数据迁移,我建议你,如果两个数据与主ID相同,那么您需要重新截断表格并重新导入数据,或者如果数据是表格的新数据,则只需导入数据而不使用它们各自的主ID。 – manurajhada