我有以下 MYSQL 查询:
START TRANSACTION;
SELECT sport_id INTO @a FROM sports WHERE sport_id = 2 FOR UPDATE;
UPDATE sports SET sport_name = 'Table Tennis' WHERE sport_id = @a;
if (@a > 1) then
COMMIT;
ELSE
ROLLBACK;
END IF;
问题是它在 if 语句中返回错误:
#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'if (@a > 1) then COMMIT' 附近使用正确的语法
我查看了堆栈溢出,并且有一个显示类似查询的答案,以几乎相同的方式编写,但他们使用的变量没有@
符号。删除@
我的查询并不能解决问题。
这只是一个测试查询,用于使用 MYSQL 尝试一些事务,因此查询似乎有点毫无意义。我有点卡住了。