MySQL - 两次更新同一列

时间:2010-06-08 11:10:59

标签: mysql

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

  

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

或只写一次,如:

  

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

由于

3 个答案:

答案 0 :(得分:3)

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

  

...
  单表UPDATE分配通常从左到右进行评估。对于多表更新,无法保证按任何特定顺序执行分配   ...

假设磁盘上的列只更新一次(写入行),因为它必须验证更新中的所有赋值/字段,不会写一个字段然后查找有一个独特的密钥违规。

答案 1 :(得分:2)

update table SET col=3*col+2;

这更好。 只是为了记录 table是你的tableName而不是关键字

答案 2 :(得分:1)

两个更新都将运行。