原因是在對(duì)某表操作時(shí)同時(shí)觸發(fā)對(duì)該表插入,這種操作在mysql數(shù)據(jù)庫(kù)是不允許的
創(chuàng)新互聯(lián)專注于龍圩網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供龍圩營(yíng)銷型網(wǎng)站建設(shè),龍圩網(wǎng)站制作、龍圩網(wǎng)頁(yè)設(shè)計(jì)、龍圩網(wǎng)站官網(wǎng)定制、微信小程序開(kāi)發(fā)服務(wù),打造龍圩網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供龍圩網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
不可以把觸發(fā)條件和觸發(fā)動(dòng)作作用于同一個(gè)表
at line 5,
目測(cè)是 SET NEW.STATE=2; 這一行.
但是這一行又沒(méi)有任何語(yǔ)法錯(cuò)誤.
你是不是在 mysql.exe 下面運(yùn)行的呀。
如果是的話, 可能是需要加一個(gè) 定義 DELIMITER //
意思是告訴 mysql , 遇到 // 符號(hào)以后, 才認(rèn)為語(yǔ)句結(jié)束了。
否則 mysql 遇到 分號(hào), 就認(rèn)為語(yǔ)句結(jié)束了, 結(jié)果觸發(fā)器代碼還沒(méi)完.
mysql DELIMITER //
mysql CREATE TRIGGER BeforeInsertTest
- BEFORE INSERT ON test_trigger_table
- FOR EACH ROW
- BEGIN
- SET new.val = '100';
- END;
- //
Query OK, 0 rows affected (0.02 sec)
mysql DELIMITER ;
沒(méi)有end;
一般存儲(chǔ)過(guò)程和觸發(fā)器之類還得配合 delimiter使用 你先研究下