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

我有:

Database name: list

-------------------
number | test
-------------------
123456 | somedata
123486 | somedata1
232344 | 34

我想拥有:

Database name: list

----------------
number | test
----------------
123456 | 123456
123486 | 123486
232344 | 232344

我应该有什么MySQL查询?


问题代码的简短回答是:

UPDATE `table` SET test=number

这里table是表名,它被重音包围(也就是反勾号),因为这是MySQL的惯例,以转义关键字(在这种情况下,table是一个关键字)。


小心!

这是一个非常危险的查询,它将擦除表中每一行的test列中的所有内容,并将其替换为数字(不管它的值是多少)

更常用的是使用WHERE子句将查询限制为特定的行集:

UPDATE `products` SET `in_stock` = true WHERE `supplier_id` = 10

试试这个:

update `list`
set `test` = `number`

UPDATE `table_name` SET `test` = `number`

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


update `table`
set `firstcolumn` = `secondcolumn`

试一试:

UPDATE `list` SET `test` = `number` 

如果list是表名,test和number是列

它创建了number中所有值的副本并将其粘贴到test中


以下工作为我..

确保在查询编辑器应用程序中没有使用安全模式。如果你是,禁用它! 然后执行sql命令

对于一个表,例如'test_update_cmd',源值列col2,目标 取值列col1和条件列col3: - SET col1=col2 WHERE col3='value';

好运!


注意:更新列的顺序很重要

好:我想保存现有的价值状态到PrevStatus

UPDATE Collections SET  PrevStatus=Status, Status=44 WHERE ID=1487496;

坏:Status和PrevStatus最后都是44

UPDATE Collections SET  Status=44, PrevStatus=Status WHERE ID=1487496;

如果有人想把条件

更新bohf SET Sq=IDNo WHERE Table = 'AOF' AND FormSq在13到17之间