[英]Sql update statement for unique field
如果您更新(或插入到表中),並且新插入/更新的 col1 值已在某行上使用,則您的查詢應該會因唯一約束沖突錯誤而失敗。
讓您的應用程序正確處理此錯誤/異常,並且確實無需在更新/插入之前檢查此值是否存在。 您的應用程序的查詢越少,對每個人來說就越好......
但是,我想提請您注意以下幾點:
您的表中似乎已經有一個 ID 列。 如果它是主鍵列,那么它也絕對是唯一的。 現在考慮一下,如果您真的需要在表中有兩個唯一的鍵列。 如果您的應用程序邏輯基於 col1 列中的唯一值,您實際上可以刪除 ID 列並將 col1 改為主鍵 :)
在檢查 col1 是否唯一的查詢中,如果在更新,則添加規則以排除當前更新的項目:
WHERE col1 = 'VALUE' AND id <> X
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.