我有一個非常簡單的觸發器。我從Toad爲mysql工具創建並部署了它,它的工作完美無缺。當我將它交給管理員部署在生產服務器上時,他們正在收到錯誤。mysql觸發代碼從TOAD部署,但不是從myphpadmin或從mysql控制檯部署
phpMyAdmin的錯誤:
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use
near '' at line 4
mysql的控制檯錯誤:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'END' at line 1
當記者問,他們正在從phpMyAdmin的代碼,還他們試圖從MySQL控制檯它們運行得到錯誤
它真的令人沮喪和惱火爲什麼sa我的東西是從GUI工具運行,而不是從webtool或控制檯工作。來自三種不同工具的3種不同行爲
然後我嘗試了同樣的事情,我也得到了錯誤。它令我驚訝的原因
DROP TRIGGER IF EXISTS TRG_ ;
CREATE TRIGGER TRG_ BEFORE INSERT ON users FOR EACH ROW
BEGIN
DECLARE X INTEGER;
SELECT COUNT(*) into X FROM users;
IF X >= 16 THEN -- CHANGE THIS NUMBER
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'cant create more users';
END IF;
END;
有人能告訴我我做錯了什麼嗎?我不知道,但我想它與分隔符關鍵字,我從來沒有明白的目的。