将值从一列复制到同一个表中的另一列

Luc*_*cas 157 mysql database

如何将复制值从一列复制到另一列?我有:

Database name: list
number | test
123456 | somedata
123486 | somedata1
232344 | 34
Run Code Online (Sandbox Code Playgroud)

我希望有:

Database name: list
number | test
123456 | 123456
123486 | 123486
232344 | 232344
Run Code Online (Sandbox Code Playgroud)

我应该有什么mysql查询?

Jui*_*ter 342

UPDATE `table` SET test=number
Run Code Online (Sandbox Code Playgroud)

  • 这是开发人员认为像外行人一样的罕见场合之一. (21认同)
  • 如果您不熟悉`update命令`,请小心......如果没有**WHERE**子句,此命令将在表中"更新"**所有**记录. (9认同)
  • 它只是表明了对更新的理解程度. (3认同)
  • 正如 @gmo 所警告的那样,擦除大量数据的巨大潜力。考虑首先备份数据库,然后使用 WHERE 子句运行查询以将其限制为一行。如果您对结果感到满意,请删除 WHERE 子句。 (2认同)

Cze*_*ogy 27

UPDATE `table_name` SET `test` = `number`
Run Code Online (Sandbox Code Playgroud)

您还可以在过程中进行任何数学更改,或使用MySQL函数来修改值.


jue*_*n d 9

试试这个:

update `list`
set `test` = `number`
Run Code Online (Sandbox Code Playgroud)

  • 也许.我认为这是一个错字. (2认同)

zza*_*per 7

请注意:更新列的顺序至关重要

好的:我想要的是将现有的状态值保存到PrevStatus

UPDATE Collections SET  PrevStatus=Status, Status=44 WHERE ID=1487496;
Run Code Online (Sandbox Code Playgroud)

:状态和PrevStatus最终都是44

UPDATE Collections SET  Status=44, PrevStatus=Status WHERE ID=1487496;
Run Code Online (Sandbox Code Playgroud)


Jig*_*hod 6

尝试以下:

UPDATE `list` SET `test` = `number` 
Run Code Online (Sandbox Code Playgroud)

它从“数字”创建所有值的副本并将其粘贴到“测试”


nit*_*708 5

以下为我工作..

  1. 确保您没有在查询编辑器应用程序中使用安全模式。如果是,请禁用它!
  2. 然后运行以下sql命令

对于表说,'test_update_cmd',源值列 col2,目标值列 col1 和条件列 col3:-

UPDATE  test_update_cmd SET col1=col2 WHERE col3='value';
Run Code Online (Sandbox Code Playgroud)

祝你好运!