如何在MySQL 中使用觸發器處理重複條目
當維護一個具有超出鍵長度限制的唯一約束的表時,例如與長參數字串的情況一樣,可以使用觸發器來強制執行這些約束。本文介紹如何處理重複條目並引發異常以通知您的應用程式。
引發異常
要引發異常並向 C# 程式碼傳回錯誤,您需要可以在觸發器中使用 SIGNAL 語句。以下程式碼示範如何操作:
DECLARE msg VARCHAR(255); IF (SomeTestToFail = "FAIL!") THEN SET msg = "DIE: You broke the rules... I will now Smite you, hold still..."; SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = msg; END IF;
此程式碼設定錯誤訊息並發出 SQL 狀態「45000」的異常訊號。然後,您可以在 C# 程式碼中捕獲此異常。
允許插入
要在不存在重複條目的情況下允許插入,您可以使用以下程式碼:
IF num_rows = 0 THEN -- Allow insert END IF;
此程式碼檢查重複條目的計數(num_rows) 是否為0。如果是,則允許插入繼續。
以上是MySQL 觸發器如何處理 C# 應用程式的重複條目和訊號異常?的詳細內容。更多資訊請關注PHP中文網其他相關文章!