Postgresql
是否可以在同一個 INSERT 中引用插入的列?
此查詢給出錯誤:
create table qwe (a bigint, completed bit varying(100000)); CREATE TABLE insert into qwe (a, completed) values (1000, repeat('0', a)); ERROR: column "a" does not exist
您可能還看到了提示:
提示:表“qwe”中有一個名為“a”的列,但不能從這部分查詢中引用它。
您不能引用尚不存在的列值。
相反,請再次拼出該值。或者使用子選擇或 CTE
a
只提供一次:INSERT INTO qwe (a, completed) VALUES (1000, repeat('0', 1000)::varbit); INSERT INTO qwe (a, completed) SELECT a, repeat('0', a)::varbit FROM (SELECT 1000) sub(a);
db<>在這裡擺弄
此外,您需要顯式轉換為
varbit
.