0
有一個表,這個模式觸發器以防止在條件缺失的MySQL
表演(PerformerID,PerformerName,街道,城市,省,郵編,ActivityID)
我需要定義一個觸發器如果刪除的ActivityID對於表是唯一的,則防止刪除。換句話說,如果某人嘗試刪除一個Performer,當他/她是唯一一個具有某個ActivityID的整個表時,觸發器應該觸發並避免刪除。否則觸發不應該中斷。
我試過下面的代碼,但它給我一個語法錯誤。
CREATE TRIGGER deletePerformer BEFORE DELETE ON Performers
FOR EACH ROW
BEGIN
If (Performers.ActivityID FROM INSERTED != Performers.ActivityID FROM Peformers)
Begin
RAISERROR ('Deletion is Not Allowed!', 16, 1)
Return
End
END;
任何幫助是非常讚賞。
感謝您的回答。 'Return'和'End if'之後的那些分號不應該在那裏嗎?我刪除了它們並嘗試了你的代碼,但它仍然給我第11行上的錯誤.. – Arcane
錯誤1064(42000):你的SQL語法有錯誤;檢查與您的MySQL服務器版本相對應的手冊,以便在'('Deletion is Not Allowed',16,1)附近使用正確的語法「 返回 End if END'at line 11 – Arcane
@Arcane。 。 。這是有道理的,因爲'RAISEERROR'是SQL Server使用的。 MySQL使用'SIGNAL'。 –