天天看點

學習MySQL出現問題Not allowed to return a result set from a trigger

情況描述:

按書本代碼輸入

CREATE TRIGGER newproduct AFTER INSERT ON products

FOR EACH ROW SELECT 'Product added'//

出現錯誤Not allowed to return a result set from a trigger

查找原因是:MYSQL5以後,不允許觸發器傳回任何結果,是以使用into @變量名,将結果指派到變量中,用select調用即可

修改為

CREATE TRIGGER newproduct AFTER INSERT ON products

FOR EACH ROW SELECT 'Product added' INTO @asd//  # 變量名用@引導    # DELIMITER //  将語句結束符号;修改為//

成功!

看看變量裡有啥?

SELECT @asd//

學習MySQL出現問題Not allowed to return a result set from a trigger

啥也沒,還沒插入操作,是以顯示沒有值!

在products表插入一行資料:     友情提示,插入資料時注意每列的資料類型,且保證主鍵列的資料不重複

學習MySQL出現問題Not allowed to return a result set from a trigger

再運作SELECT @asd//

現在有了!

學習MySQL出現問題Not allowed to return a result set from a trigger

繼續閱讀