javascript - 防止 MySQL 行一次更新两次? (nodejs mysql)

标签 javascript mysql node.js websocket socket.io

我的服务器 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-wise 一行只能每 x 秒更新一次?

我还使用毫秒作为 console.log 输出(在函数 time() 中)来调查这种情况是否在第一次更新后几毫秒发生,但它恰好在同一时刻发生,如下所示:

enter image description here

其他拍卖只更新一次,我不明白为什么。

最佳答案

我的问题是我SELECTed 数据并且没有使用GROUP BY 并且我在之前的 上使用了LEFT JOIN SELECT-语句。所以他选择了同一行两次。

关于javascript - 防止 MySQL 行一次更新两次? (nodejs mysql),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30015875/

相关文章:

javascript - 作为参数传递的函数的系统唯一 ID (javascript)

javascript - 书架更改列数据类型

javascript - 我可以将回调函数作为变量异步传递多个级别吗?

mysql - 选择不是 "*username*"的值

node.js - 抑制 chai 中的日志输出

javascript - UPDATE SQL TABLE 使用绑定(bind)变量或绑定(bind)参数将新值减去存储值

javascript - 用 D3 绘制波形

javascript - 更改输入类型文件文本

javascript - jquery beforeunload 消息取决于单击的按钮

php - 本地连接到 phpMyAdmin