当它们不共享所有字段时,将字段从一个表复制到另一个表

时间:2014-11-06 09:45:33

标签: sql

我有两张类似的表,A和B.

表A和B有许多共同的字段,但A中有一些字段在B中不存在,反之亦然。

我想转移共享字段'从表A到表B的内容,当然没有得到类似#1136 - Column count doesn't match value count at row 1的内容。

这可能吗?


类似的东西:

insert into A (select * from B) => insert into A ({fields_in_common}) (select {fields_in_common} from B)

2 个答案:

答案 0 :(得分:1)

您可以尝试插入

INSERT INTO TableB (b1, b2, b3)
SELECT a1, a2, a3
FROM   TableA;

答案 1 :(得分:0)

如果您的2个表AB的数据结构相同,那么这应该可以正常工作,而不会出现您提到的问题:

INSERT INTO A
     SELECT * 
     FROM A
     INNER JOIN B
                 ON A.field1=B.field1
                 AND A.field2=B.field2
                 ...
                 ...
                 AND A.fieldn=B.fieldn