以某种方式可以使MySQL命令执行此操作:
UPDATE FROM players WHERE column1 > column2 SET column2 = column1
有什么想法可以做到这一点? 或者我必须运行2个mysql命令?一个选择,一个更新?
答案 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;