5

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

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

我现在需要将表 (clients) 中的一个表列 (receiptno) 中的数据移动到表 (revenue) 中类似的表列 (receiptno) 中。

我对 Mysql 仍然很缺乏经验,因此我不知道完成此操作的 mysql 语法。

我能得到一些帮助吗?

谢谢

4

3 回答 3

13

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

INSERT INTO revenue (receiptno) SELECT receiptno FROM clients;

但是,如果要使用revenue表中的关联数据更新表中的现有记录,则clients必须连接表并执行UPDATE

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

了解SQL 连接

于 2012-05-17T11:52:21.933 回答
5

相同的气味,不同的气味与 Eggyal 的答案,这适用于 Oracle 和 Postgress,因此您的里程可能会有所不同。

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

您将不得不调整 where 子句以满足您的需求......

于 2012-05-17T13:27:53.870 回答
1
INSERT INTO newtable (field1, field2, field3)
SELECT filed1, field2, field3
FROM oldtable
于 2012-05-17T11:55:48.410 回答