我需要更新mysql表中的列。 如果我按以下两个步骤执行此操作,那么“col”列是否在磁盘中更新了两次?
更新表SET col = 3 * col,col = col + 2;
或只写一次,如:
更新表SET col = 3 * col + 2;
由于
答案 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)
两个更新都将运行。