2012-06-26 220 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