2013-06-18 21 views
1

我在我的數據庫中有一個表,其中包含我設置的primary_key的字符串。我需要經常檢查在添加它們之前是否有大約1000個「項目」存在於該表格中,因爲一定不能有任何重複項目。結果是每個項目有2個查詢,或總共2000個查詢,這是1-2秒的額外加載時間。如何禁用MySQL的錯誤?

如果我嘗試插入新行,不檢查重複它不插入,這很好,但MySQL返回一個錯誤,這會導致我的服務崩潰。

我的問題:

  1. 我可以關閉這些錯誤?
  2. 有沒有更好的方法來防止插入重複項而不是做出額外的查詢?
+1

如果你覺得我的問題不好,請說明原因。 –

+0

是的,修正錯誤可能? [插入忽略](http://dev.mysql.com/doc/refman/5.0/en/insert-select.html) – amigura

+0

我需要錯誤消失,沒有其他需要修復。 –

回答

5

您可以使用IGNORE keyword有重複從插入下降:

INSERT IGNORE INTO yourTable Values (...) 
+0

完美工作。 –

5

mysql返回一個錯誤,這會導致我的服務崩潰。

它實際上是你自己的代碼,崩潰你的服務,因爲mysql錯誤不能崩潰任何東西。

有沒有更好的辦法來防止插入重複

INSERT IGNORE

+0

完美工作。 –