1

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

任何想法如何做到这一点?还是我必须运行 2 个 mysql 命令?一选一更新?

4

2 回答 2

6

可以做到,你只需要修正你的语法,它应该是:

UPDATE players SET column2 = column1 WHERE column1 > column2;

MySQL 5 手册UPDATE Syntax

单表语法:

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]
于 2012-10-19T16:16:24.393 回答
3

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

UPDATE players SET column2 = column1 WHERE column1 > column2;
于 2012-10-19T16:17:48.863 回答