我有一个非常简单的触发器。我从Toad for mysql工具创建它并部署它并且它的工作完美没有任何问题。当我把它交给管理员在生产服务器中部署时,他们遇到了错误。
phpmyadmin 错误:
1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法使用
在第 4 行的 '' 附近
Mysql 控制台报错:
ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“END”附近使用正确的语法
当被问到时,他们正在从 phpmyadmin 运行代码,并且他们试图从 mysql 控制台运行他们得到错误
为什么同样的事情是从 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;
有人可以告诉我我做错了什么吗?我不确定,但我猜它与我从未理解其目的的分隔符关键字有关。