我目前正在使用 Mysql 数据库开发基于 Web 的系统。
我意识到我最初错误地设置了表格中的列,并且
我现在需要将表 (clients) 中的一个表列 (receiptno) 中的数据移动到表 (revenue) 中类似的表列 (receiptno) 中。
我对 Mysql 仍然很缺乏经验,因此我不知道完成此操作的 mysql 语法。
我能得到一些帮助吗?
谢谢
我目前正在使用 Mysql 数据库开发基于 Web 的系统。
我意识到我最初错误地设置了表格中的列,并且
我现在需要将表 (clients) 中的一个表列 (receiptno) 中的数据移动到表 (revenue) 中类似的表列 (receiptno) 中。
我对 Mysql 仍然很缺乏经验,因此我不知道完成此操作的 mysql 语法。
我能得到一些帮助吗?
谢谢
如果您只是想将数据插入到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 连接。
相同的气味,不同的气味与 Eggyal 的答案,这适用于 Oracle 和 Postgress,因此您的里程可能会有所不同。
UPDATE revenue t1 SET receiptno = (
SELECT receiptno FROM clients t2 WHERE t2.client_id = t1.revenue_id
);
您将不得不调整 where 子句以满足您的需求......
INSERT INTO newtable (field1, field2, field3)
SELECT filed1, field2, field3
FROM oldtable