Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用分隔符触发mysql问题_Mysql - Fatal编程技术网

使用分隔符触发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查询的平台很

我在使用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查询的平台很重要。
我不认为分隔符是有效的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 ;