使用外键将数据从一个表复制到另一个表

时间:2012-06-18 12:21:56

标签: sql

我遇到有关sql查询的问题。

我有一个表结构

TABLE_A

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

表-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

2 个答案:

答案 0 :(得分:2)

你试过这个吗?

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

答案 1 :(得分:1)

update TABLE_A A,TABLE_b B set A.b_id = B.b_id where A.a_id = B.a_id;

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