2010-06-08 74 views
0

我需要更新mysql表中的一列。 如果我按照以下两个步骤执行操作,是否在磁盘中更新了两列“col”?MySQL - 更新同一列两次

更新表SET col = 3 * col,col = col + 2;

,或者它作为写入一次:

更新表SET COL = 3 * COL + 2;

感谢

回答

2
update table SET col=3*col+2; 

这样比较好。 JUST FOR RECORD 其中表是你的表名,而不是关键字

3

参见:http://dev.mysql.com/doc/refman/5.0/en/update.html

...
单表更新的任务一般是评估由左到右。对于多表更新,不保证分配按任何特定顺序执行。
...

承担磁盘上的列仅更新一次(行写的),因为它来验证更新所有分配/领域,它不会做写一个场然后找出存在唯一的密钥违规。

+0

我得到了一个多表'UPDATE'的问题,其中顺序与我编写查询的方式无关。关于“一般”意味着什么的任何线索?就像单个表UPDATE一样,导致非从左到右更新的情况是什么? – Xenos 2016-08-21 11:20:32