1 回答

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超1個贊
serial是偽數(shù)據(jù)類型,而不是實(shí)際數(shù)據(jù)類型。它的integer下面是一些自動執(zhí)行的其他DDL命令:
創(chuàng)建一個序列(默認(rèn)情況下具有匹配名稱)。
設(shè)置列NOT NULL和默認(rèn)值以從該序列中繪制。
使列“擁有”序列。
細(xì)節(jié):
安全,干凈地重命名使用Postgres中的串行主鍵列的表?
A bigserial相同,圍繞一bigint列構(gòu)建。您想要bigint,但您已經(jīng)實(shí)現(xiàn)了。要將現(xiàn)有的serial列轉(zhuǎn)換為bigserial(或smallserial),您要做的就是ALTER列的數(shù)據(jù)類型。序列通常基于bigint,因此相同的序列可用于任何integer類型。
要將a更改bigint為bigserial或?qū)ntegera 更改為serial,您只需手動完成其余工作即可:
為字段創(chuàng)建PostgreSQL序列(不是記錄的ID)
實(shí)際的數(shù)據(jù)類型仍然是integer/ bigint。如果滿足a的所有條件,則諸如pgAdmin之類的某些客戶端將serial在反向工程CREATE TABLE腳本中顯示數(shù)據(jù)類型serial。
- 1 回答
- 0 關(guān)注
- 423 瀏覽
添加回答
舉報(bào)