我正在使用 MySQL InnoDB。
我想更新一个表并控制每列更新的顺序。如果可能的话,多合一查询。原因是我有一个游戏队列系统。当你完成 queue_1 我希望它被分配 queue_2 的值,然后擦除 queue_2。
现在我得到了不可预测的结果。有时total_price_2 设置为零,然后加载到total_price_1。两者都归零。(不是我想要的。)
我读到数据库决定运行更新的顺序。如果我必须进行两次更新,那很好。我的目标是表现。
UPDATE
queue
SET
queue_1 = queue_2,
total_price_1 = total_price_2,
total_wait_1 = total_wait_2,
queue_2 = '',
total_price_2 = 0,
total_wait_2 = 0
WHERE id IN(1,2,3)