使用MySQL创建触发器时遇到问题。
delimiter //
CREATE TRIGGER trigversion AFTER INSERT ON offers
FOR EACH ROW
BEGIN
update versions set value = @value + 1 limit 1;
END;//
问题:
#1064 - 您的SQL语法出错;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 在第5行附近的'//'
答案 0 :(得分:1)
根据@ eggyal的评论。您运行SQL查询的平台很重要。
我不认为DELIMITER
是有效的SQL语法,我相信它是由PHPMyadmin提供的。
如果您是从像PHP这样的环境运行,请尝试查询而不设置新的分隔符,例如。
CREATE TRIGGER trigversion AFTER INSERT ON offers
FOR EACH ROW
BEGIN
update versions set value = @value + 1 limit 1;
END;
根据OP的评论,该命令是针对PHPMyadmin运行的,我认为它可能值得注意,在这种情况下,我认为这只是查询中的语法错误,其中分隔符不是&#39 ;触发后正确复位。 我相信这个查询应该修复错误并在Phpmydmin上运行 - 但重要的是赢得运行PHP(PDO)
DELIMITER |
CREATE TRIGGER trigversion AFTER INSERT ON offers
FOR EACH ROW
BEGIN
update versions set value = @value + 1 limit 1;
END |
DELIMITER ;