Table1 Table2
column1ID | column1 column2ID | column2
1 | A 1 | copyofA
2 | B 2 | copyofB
根据要求,我想在table2中插入copyofB的copyofB等行(大约54k行),但是column2ID必须匹配已经填充的column1ID。
根据标题我想在另一个列表中插入列数据行(所有这些行),其中每一行与公共ID列值匹配
我使用了通常的命令
INSERT INTO table2 (column2)
SELECT column1
FROM table1
但遗憾的是,具有ID值的列似乎需要进行某种比较才能获得成功
输出错误
[Err] ERROR: insert or update on table "table2" violates foreign key constraint "table2_column2ID_fkey"
DETAIL: Key (column2ID)=(400992) is not present in table "table2".
最后要添加的是table2显然有一个外键附加到table1的主键ID
答案 0 :(得分:1)
我想你想要一个update
:
update table2 t2
set column2 = t1.column1
from table1 t1
where t2.id = t1.id