创建触发器错误:语法无效 [英] Create trigger error: invalid syntax
问题描述
SQL查询:
CREATE TRIGGER tg_newuser_insert
BEFORE INSERT ON tbl_newuser
FOR EACH ROW
BEGIN
INSERT INTO tbl_seq VALUES (NULL)
SET NEW.id = CONCAT('YTUM', LPAD(LAST_INSERT_ID(), 8, '00000'));
END
MySQL表示:说明文件
#1064-您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册,以在'SET NEW.id = CONCAT('YTUM',LPAD(LAST_INSERT_ID(),8,'00000'))附近使用正确的语法; END',位于第6行
MySQL said: Documentation
#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 'SET NEW.id = CONCAT('YTUM', LPAD(LAST_INSERT_ID(), 8, '00000')); END' at line 6
推荐答案
您的格式已关闭,请记住需要DELIMITER $$
语句,因为它与创建存储过程没有什么不同.
Your Formatting is off, remember DELIMITER $$
statements are required, as it is no different than creating a stored procedure.
向下滚动文档约一半以查看示例.
Scroll about half way down the documents to see the example.
但是,这就是您要寻找的:
But, This is what your looking for:
DELIMITER $$
CREATE TRIGGER tg_newuser_insert
BEFORE UPDATE ON tbl_newuser
FOR EACH ROW
BEGIN
SET NEW.id = CONCAT('YTUM', LPAD(LAST_INSERT_ID(), 8, '00000'));
END $$
DELIMITER ;
这篇关于创建触发器错误:语法无效的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!