将数据从一列移动到另一个表MYSQL中的另一个类似列

时间:2012-05-17 11:49:19

标签: mysql

我目前正在使用Mysql数据库开发基于Web的系统。

我意识到我最初错误地设置了表格中的列

我现在需要将数据从表(客户端)中的一个表列(receiptno)移动到表(收入)中的类似表列(receiptno)。

我对Mysql仍然缺乏经验,因此我不知道实现此目的的mysql语法。

我可以得到一些帮助。

由于

3 个答案:

答案 0 :(得分:11)

如果您只是想将数据插入revenue表中的新记录:

INSERT INTO revenue (receiptno) SELECT receiptno FROM clients;

但是,如果要使用revenue表中的关联数据更新clients表中的现有记录,则必须加入表并执行UPDATE:< / p>

UPDATE revenue JOIN clients ON **join_condition_here**
SET    revenue.receiptno = clients.receiptno;

了解SQL joins

答案 1 :(得分:5)

同样的气味,与eggy的答案有不同的气味,这适用于Oracle和Postgres,所以你的里程可能会有所不同。

UPDATE revenue t1 SET receiptno = (
  SELECT receiptno FROM clients t2 WHERE t2.client_id = t1.revenue_id
);

您必须调整where子句以满足您的需求......

答案 2 :(得分:1)

INSERT INTO newtable (field1, field2, field3)
SELECT filed1, field2, field3
FROM oldtable