更新column1>的所有行COLUMN2

时间:2012-10-19 16:15:20

标签: mysql

以某种方式可以使MySQL命令执行此操作: UPDATE FROM players WHERE column1 > column2 SET column2 = column1

有什么想法可以做到这一点? 或者我必须运行2个mysql命令?一个选择,一个更新?

2 个答案:

答案 0 :(得分:6)

可以这样做,你只需要修复你的语法,它应该是:

UPDATE players SET column2 = column1 WHERE column1 > column2;

关于UPDATE Syntax的MySQL 5手册:

  

单表语法:

UPDATE [LOW_PRIORITY] [IGNORE] table_reference
    SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
    [WHERE where_condition]
    [ORDER BY ...]
    [LIMIT row_count]
  

多表语法:

UPDATE [LOW_PRIORITY] [IGNORE] table_references
    SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
    [WHERE where_condition]

答案 1 :(得分:3)

您不需要select数据来更新它。您可以直接使用update

UPDATE players SET column2 = column1 WHERE column1 > column2;