如何将数据从同一列中的一列复制到另一列中?


Answers:


463

这个怎么样

UPDATE table SET columnB = columnA;

这将更新每一行。


1
如果您想将旧值转移到其他列并更新第一个列,这也将起作用UPDATE table SET columnA = 'new value', columnB = columnA。就像其他答案一样-不要忘记WHERE子句仅更新需要的内容。
卡尔·迪·奥特斯

5
我想在某个复杂的过程中,当答案是如此简单时,每条记录都会循环执行
deFreitas 18-4-27

6
@deFreitas一个聪明的人告诉我:如果您正在考虑编写一个循环以完成SQL中的某些操作,那您就做错了。
Daniel Patrick

95
UPDATE table_name SET
    destination_column_name=orig_column_name
WHERE condition_if_necessary

10
@Mark,这实际上是有道理的,为什么要这样投票?我有一种情况,我需要将日期值从一列复制到其他列,并且它仅适用于某些列,而不是全部。因此,在声明中添加WHERE是必要的。
finnTheHumin 2014年

5
@finnTheHuman问题询问如何“从所有记录中复制数据”,较早的答案正确回答了该问题,因此不会添加任何内容
user151019 2014年

7
@Mark“这与以前接受的答案有何不同”,它具有WHERE子句。我不同意,“所以这不会增加任何东西”,而是增加了一些东西。最好在需要时包含WHERE子句。我们应该负责否决答案。仇恨者的仇恨
finnTheHumin 2014年

就我而言,我添加了last_seen列。UPDATE user SET last_seen = first_seen WHERE last_seen IS NULL
luckydonald

我不同意你们中的一个。但是不愿意说谁!Where子句就像您一样对待您
Andrew Day
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.