防止 MySQL 行一次更新两次? (node.js mysql)
Prevent that a MySQL row updates two times at once? (nodejs mysql)
我的服务器 nodejs 文件中有这段代码,使用 socket.io 每秒更新一次的 mysql 模块更新 mysql 数据库中的一行:
var query_update = mysql.query('UPDATE `auctions` \
SET `random` = ?,`price`= ?,`datetime` = ? WHERE `id` = ?', \
[rand, price, t, auction.id]);
console.log('\n'+time()+query_update.sql+'\n');
我不知道为什么,但某些特定的行条目将一次更新两次。有没有办法以某种方式防止这种情况? 甚至 mysql 一行只能每 x 秒更新一次?
我还使用毫秒作为 console.log 输出(在函数 time() 中)来调查这种情况是否在第一次更新后几毫秒发生,但它恰好在同一时刻发生,如下所示:
其他拍卖只更新一次,我不明白为什么。
我的问题是我 SELECT
编辑了数据但没有使用 GROUP BY
并且我在之前的 SELECT
语句中使用了 LEFT JOIN
。所以他选择了同一行两次。
我的服务器 nodejs 文件中有这段代码,使用 socket.io 每秒更新一次的 mysql 模块更新 mysql 数据库中的一行:
var query_update = mysql.query('UPDATE `auctions` \
SET `random` = ?,`price`= ?,`datetime` = ? WHERE `id` = ?', \
[rand, price, t, auction.id]);
console.log('\n'+time()+query_update.sql+'\n');
我不知道为什么,但某些特定的行条目将一次更新两次。有没有办法以某种方式防止这种情况? 甚至 mysql 一行只能每 x 秒更新一次?
我还使用毫秒作为 console.log 输出(在函数 time() 中)来调查这种情况是否在第一次更新后几毫秒发生,但它恰好在同一时刻发生,如下所示:
其他拍卖只更新一次,我不明白为什么。
我的问题是我 SELECT
编辑了数据但没有使用 GROUP BY
并且我在之前的 SELECT
语句中使用了 LEFT JOIN
。所以他选择了同一行两次。