MySQL 錯誤:無法更新存儲函數/觸發器中的表
問題:
嘗試使用觸發器向MySQL表中插入新行時,出現以下錯誤發生:
Can't update table 'brandnames' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
答案:
當INSERT 觸發器嘗試修改調用它的表時,會遇到此錯誤。 MySQL 禁止這種行為有兩個主要原因:
要解決此錯誤,請考慮使用以下方法:
例如,要從全名的前兩個字元建立短名稱字段,可以使用以下 BEFORE INSERT 觸發器:
CREATE TRIGGER `capital` BEFORE INSERT ON `brandnames` FOR EACH ROW BEGIN SET NEW.short_name = CONCAT(UCASE(LEFT(NEW.full_name,1)) , LCASE(SUBSTRING(NEW.full_name,2))) END
以上是為什麼我無法更新 MySQL 儲存函數或觸發器中的表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!