我想用一个查询更新两个 mysql 表,但我的查询加载了无限的时间,导致整个 mysql 服务崩溃。
我这里有两张 table :
users_steam
投注
基本上,我需要将 bets.won 设置为 20.000,同时更新玩家的余额。
UPDATE bets, users_steam
SET bets.complete = 1,bets.won=20000,
users_steam.coins = users_steam.coins + 20000
WHERE bets.steamid=users_steam.steamid
AND bets.round = 1337 AND bets.complete = 0
这不起作用,它会进行无限查询。
最佳答案
不确定您当前的尝试有什么问题,而是在具有两个单独查询的事务中尝试它。
BEGIN
UPDATE bets
JOIN users_steam on bets.steamid = users_steam.steamid
SET bets.complete = 1,bets.won=20000
WHERE bets.round = 1337 AND bets.complete = 0;
UPDATE users_steam
JOIN bets on bets.steamid = users_steam.steamid
SET users_steam.coins = users_steam.coins + 20000
WHERE bets.round = 1337 AND bets.complete = 0;
END
关于MySQL - 更新两个表,无限查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36696881/