Postgresql中新建表的時候,如何使用主鍵使用序列(sequence)的值進行自增長
我們知道,一般的資料庫中都有序列,可以使用它對主鍵進行自增長,hbm框架都是如此(比如,Hibernate)。那麼,在不使用hbm框架的情況下,如何使主鍵進行自增長呢。其實,很簡單,只需要在建表的時候給主鍵加一個預設值即可,下面以postgresql資料庫為例,給出一個簡單的說明(其他資料庫的語法也許跟這個不一樣):
[SQL] view plain copy id integer NOT NULL DEFAULT nextval('personid_seq'::regclass)
上面的"nextval('personid_seq'::regclass"部分就是關鍵,其中,personid_seq 就是一個序列,可以通過下面的語句進行宣告:
[SQL] view plain copy CREATE SEQUENCE personid_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 5;
這樣一來,在往資料庫插入記錄的時候,就不必給id欄位進行手動賦值了。
PS:需要注意的事,你在insert into的時候,需要指明欄位,不然會報錯的。比如,test表中共有id與name兩個欄位,其中,id使用如上方式進行了自增長,那麼你在插入記錄的時候,需要像下面這麼來寫SQL語句:
[SQL] view plain copy insert into test(name) values('tiger'); 而不能寫成下面這種的:
[SQL] view plain copy insert into test values('tiger'); --------------------- 作者:rainbow702 來源:CSDN 原文:https://blog.csdn.net/rainbow702/article/details/50516791?utm_source=copy 版權宣告:本文為博主原創文章,轉載請附上博文連結!