簡體   English   中英

Postgres序列值插入

[英]Postgres serial values insertion

INSERT的Postgres文檔中 ,default關鍵字應該自動遞增聲明為serial的列。但是當我將其與select語句結合使用時,會拋出錯誤

syntax error at or near "DEFAULT"

這是插入語句

insert into abc (id,date,serialnumber) (DEFAULT,select (data.date,data.serialnumber) from data)

DEFAULT只能作為VALUES子句中INSERT語句的“文字”。 即使將SELECT語句的列列表用於INSERT ,也無法使用它。

要應用默認值,只需忽略該列:

insert into abc (date,serialnumber) 
select date, serialnumber 
from data

有關示例,請參見此處: http : //sqlfiddle.com/#!12/d291a/1


另外:不要將列列表放入括號中。 (a,b)與Postgres中的a,b不同。 第一個是具有兩個屬性的單個記錄,第二個是兩個不同的列。

在此處查看此SQLFiddle演示: http ://sqlfiddle.com/#!12/3a890/1,並注意兩個結果之間的區別。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM