CNode

node操作mysql库有没有sql锁

Rracyily发布于12 年前最后回复12 年前3 回复4976 浏览0 收藏

有这么个情况,我要在很多情况下进行 truncate table --> insert table(这两部是顺序执行的),问题是如果有多次同时进行这两步操作时,mysql会告诉我主键已经存在了。也就是同时出现了insert table的情况,有没有办法避免呢?最好是有正规些的解决办法。

我目前做的处理时把多次同时进行这两步操作改成了加入循环队列,一次执行完才会执行下一次,类似于node.js本身的事件轮询。但是我总觉得这样做不是很正规,因为这个问题是由于mysql的并发造成的,而不是node.js。

查看回复

回复 (2)

F
fish#1·12 年前

是你的并发吧,

mysql.query(truncate table, function () {
    mysql.query(insert table, function () {

   });
})
R
racyily#2·12 年前
引用 fish是你的并发吧,

不是这个意思,是多个高频率的重复你的代码,这个操作都是异步的,mysql可能会有并发啊,

参与回复
登录后即可参与回复。登录