PostgreSQL不像SQL Server一樣有identity關(guān)鍵字可以用來指定字段自增。但是它有序列值產(chǎn)生器可以使用,并且在數(shù)據(jù)字段定義時可以指定默認值為一個表達式,這樣我們就可以使用序列值來作實現(xiàn)字段值自增。
在仁布等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供網(wǎng)站建設(shè)、成都做網(wǎng)站 網(wǎng)站設(shè)計制作按需設(shè)計網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計,成都全網(wǎng)營銷推廣,外貿(mào)網(wǎng)站制作,仁布網(wǎng)站建設(shè)費用合理。
步驟:
創(chuàng)建一個序列值
create sequence id_sequence increment?1 start 1;
id_sequence為序列值名稱,increment為步長默認為1,start為初始值,默認為1
在字段定義時,指定默認值為獲取序列值(用nextval函數(shù), 參數(shù)為序列值名稱的字符串)
create?table?mytest?(id?integer?not?null?default?nextval('id_sequence'),?txt?varchar(100));
PostgreSQL中讓主鍵自增長可先建立一個對應表的sequence
CREATE SEQUENCE test_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
其中START是從數(shù)字幾開始,INCREMENT BY是一次增長幾個數(shù)字,NO MINVALUE是沒有最小值,NO MAXVALUE是沒有最大值;
然后修改表id字段
alter table test alter column id set default nextval('test_id_seq');
也可以在建表的時候使用:
"id" int4 DEFAULT nextval('t_ordercenter_info_history_id_seq'::regclass) NOT NULL
F:\PostgreSQL\9.2\binpsql.exe
-h
localhost
-U
postgres
-d
Test
-p
5432psql
(9.2.4)輸入
"help"
來獲取幫助信息.Test=#Test=#
help;您正在使用psql,
這是一種用于訪問PostgreSQL的命令行界面鍵入:
\copyright
顯示發(fā)行條款
\h
顯示
SQL
命令的說明
\?
顯示
pgsql
命令的說明
\g
或者以分號(;)結(jié)尾以執(zhí)行查詢
\q
退出注:
數(shù)據(jù)庫名稱區(qū)分大小寫的。使用某些有密碼的用戶的情況下,
會提示輸入密碼.F:\PostgreSQL\9.2\binpsql.exe
-h
localhost
-U
test
-d
Test
-p
5432用戶
test
的口令:psql
(9.2.4)輸入
"help"
來獲取幫助信息.Test=#