【问题标题】:copy data from one table to another using foreign key使用外键将数据从一个表复制到另一个表
【发布时间】:2012-06-20 10:02:00
【问题描述】:

我遇到了一个关于 sql 查询的问题。

我有一个表结构

TABLE_A

A_id : 10,20,30,40 
A_name: a,b,c,d  
B_id: null,null,null,null

TABLE_B

B_id: 1,2,3,4  
B_name:n1,n2,n3,n4 
A_id: 10,20,30

现在我需要将 TABLE_A 中的 B_id 复制到 TABLE_B 的 B_id 中,其中 TABLE_A 的 A_id 与 TABLE_B 的 A_id 相同

然后表格看起来像

TABLE_A

A_id : 10,20,30,40  
A_name: a,b,c,d   
B_id: 1,2,3,null

我试过这个:

UPDATE TABLE_A 
SET B_id = a.B_id
from TABLE_A a 
WHERE TABLE_A.A_id = a.A_id

但它不起作用,错误是SQLCODE=-104, SQLSTATE=42601

【问题讨论】:

  • 您使用的是哪个 DBMS? PostgreSQL?甲骨文? DB2?

标签: sql


【解决方案1】:

你试过了吗

UPDATE TABLE_A SET B_id = b.B_id 
from TABLE_B b 
WHERE TABLE_A.A_id = b.A_id

【讨论】:

【解决方案2】:
update TABLE_A A,TABLE_b B set A.b_id = B.b_id where A.a_id = B.a_id;

如果您正在处理mysql。不知道其他数据库是否接受该语法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-12
    • 1970-01-01
    • 2012-11-24
    • 2011-05-16
    • 2020-09-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多