我正在更改我的数据库架构,并将列'seat'从old_table移动到new_table。首先,我在new_table中添加了“seat”列。现在我正在尝试使用old_table中的值填充列。
UPDATE new_table
SET seat = seat
FROM old_table
WHERE old_table.id = new_table.ot_id;
返回ERROR:列引用“seat”不明确。
UPDATE new_table nt
SET nt.seat = ot.seat
FROM old_table ot
WHERE ot.id = nt.ot_id;
返回ERROR:关系“new_table”的列“nt”不存在
想法?
答案 0 :(得分:3)
UPDATE new_table
SET seat = old_table.seat
FROM old_table
WHERE old_table.id = new_table.ot_id;
答案 1 :(得分:1)
IIRC要更新的表是不能别名的表。你试过这个吗?
UPDATE new_table
SET seat = ot.seat
FROM old_table ot
WHERE ot.id = ot_id;
答案 2 :(得分:0)
你应该能够提到seat
,就像这样
UPDATE new_table nt
SET seat = ot.seat
FROM old_table ot
WHERE ot.id = nt.ot_id;