MySQL - 更新两个表,无限查询

标签 mysql

我想用一个查询更新两个 mysql 表,但我的查询加载了无限的时间,导致整个 mysql 服务崩溃。

我这里有两张 table :

users_steam

enter image description here

投注

enter image description here

基本上,我需要将 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/

相关文章:

mysql - 错误 2002 (HY000) : Can't connect to local MySQL server through socket '/var/run/mysqld/mysql.sock' (2)

php - 在网页上显示从 mysql DB 保存的聊天记录

php - Zend Framework 2 结果集按条件排序?

mysql - 在包含 json 的文本字段中搜索

mysql正交表转

mysql - 这个 MySQL 查询有问题吗?

php - 从使用 ISODate 保存的 mongodb 数据库获取时间戳

javascript - 默认情况下,无法在 foreach 循环中保持第一个 Accordion 打开

MySQL LEFT JOIN 在某个日期之前与 SUM 以及在该日期之前和该日期的 SUM

php - 显示表格中不存在的项目的下拉列表