我目前正在使用Mysql数据库开发基于Web的系统。
我意识到我最初错误地设置了表格中的列
我现在需要将数据从表(客户端)中的一个表列(receiptno)移动到表(收入)中的类似表列(receiptno)。
我对Mysql仍然缺乏经验,因此我不知道实现此目的的mysql语法。
我可以得到一些帮助。
由于
答案 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