我收到以下錯誤:PHP:重複的項目「XX」關鍵「YY」
Duplicate entry 'morandi-midnight-train' for key 'post_name'
我要檢查,如果POST_NAME場已經與一個變量定義的行如果確實如此迴應一個錯誤。
我該如何做到這一點?
- POST_NAME具有唯一索引
我收到以下錯誤:PHP:重複的項目「XX」關鍵「YY」
Duplicate entry 'morandi-midnight-train' for key 'post_name'
我要檢查,如果POST_NAME場已經與一個變量定義的行如果確實如此迴應一個錯誤。
我該如何做到這一點?
運行SELECT 1 FROM table WHERE post_name = 'morandi-midnight-train' LIMIT 1;
您的INSERT查詢之前。如果SELECT有任何結果,則顯示錯誤。
謝謝你,我用這個 – m3tsys 2012-01-04 18:37:40
如果你想檢查行的存在,你可以做SELECT。
但這不是避免「重複密鑰」問題的最佳方法。也許在插入操作中使用ON DUPLICATE KEY UPDATE會更好。如果它不存在,將插入一個新行,或者如果存在,則靜默地更新現有行。如果你想忽略錯誤,運行INSERT IGNORE...
和檢查受影響的行之後(通過mysql_affected_rows()
) http://dev.mysql.com/doc/refman/5.5/en/insert.html
它看起來像你已經做 – thetaiko 2012-01-04 14:24:09
好...我想控制誤差 – m3tsys 2012-01-04 14:25:05