Mysql 在PhpMyAdmin中创建触发器会导致语法错误
我试图创建一个触发器,在验证布尔字段后插入到表中。这是我的密码:Mysql 在PhpMyAdmin中创建触发器会导致语法错误,mysql,database,database-trigger,Mysql,Database,Database Trigger,我试图创建一个触发器,在验证布尔字段后插入到表中。这是我的密码: DROP TRIGGER IF EXISTS user_au_trg; DELIMITER $$ CREATE OR REPLACE TRIGGER user_au_trg AFTER UPDATE ON users FOR EACH ROW BEGIN IF NEW.UserNameVerified = '1' INSERT INTO changeLog(logId,userId,logD
DROP TRIGGER IF EXISTS user_au_trg;
DELIMITER $$
CREATE OR REPLACE TRIGGER user_au_trg
AFTER UPDATE ON users
FOR EACH ROW
BEGIN
IF NEW.UserNameVerified = '1'
INSERT INTO changeLog(logId,userId,logDate, theLog) VALUES (null, new.UserId, NOW(), 'User Has Now Been Verified')
END IF
END $$
DELIMITER ;
每当我尝试运行此操作时,都会出现语法错误:
1064-您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,了解在第6行的“插入到变更日志(logId、userId、logDate、theLog)值(null、new.userId、NO)”附近使用的正确语法
我做错了什么导致了这个错误?我会做一些调整,其中一些只是个人偏好。代码发布在下面。但是主要问题是:
DROP TRIGGER(如果存在)用户\u au\u trg;
分隔符;;
创建或替换触发器用户\u au\u trg
用户更新后
每行
开始
如果NEW.UserNameVerified='1',则
在changeLog(logId、userId、logDate、theLog)中插入值(null、new.userId、NOW()、‘用户已验证’);
如果结束;
完;;;
定界符;
希望这有帮助你是说我的对账单有错误吗?如果有,你能发布错误吗?如果没有,你能突出你不理解的部分,我会加强我的回答以澄清这一点。谢谢谢谢谢谢,我一开始没有看到更改。谢谢,成功了使用2分号和美元符号有什么区别没有不同的是,这只是个人喜好。