使用分隔符触发mysql问题
我在使用MySQL创建触发器时遇到了一个问题使用分隔符触发mysql问题,mysql,Mysql,我在使用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行的“/”附近 根据@eggyal的评论。运行SQL查询的平台很
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行的“/”附近
根据@eggyal的评论。运行SQL查询的平台很重要。
我不认为分隔符是有效的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运行的,我认为这可能值得注意,在这种情况下,我认为这只是查询中的语法错误,在触发后没有正确重置分隔符。
我相信这个查询应该修复错误并在Phpmydmin上运行——但重要的是,它不会通过PHP(PDO)运行
您使用什么客户端软件连接到MySQL/输入这些命令?您确定吗?你试过运行SQL吗?很酷,没兴趣,你是在什么环境下运行查询的?
DELIMITER |
CREATE TRIGGER trigversion AFTER INSERT ON offers
FOR EACH ROW
BEGIN
update versions set value = @value + 1 limit 1;
END |
DELIMITER ;