postgresql設(shè)置id自增的基本方法舉例
創(chuàng)建序列:
CREATE SEQUENCE table_name_id_seq;
將序列與表的列關(guān)聯(lián):
ALTER TABLE table_name ALTER COLUMN id SET DEFAULT nextval('table_name_id_seq');
可選地,你可以設(shè)置序列的起始值、遞增步長和最大值:
-- 將序列的起始值設(shè)置為 1 ALTER SEQUENCE table_name_id_seq START WITH 1; -- 將序列的遞增步長設(shè)置為 1 ALTER SEQUENCE table_name_id_seq INCREMENT BY 1; -- 將序列的最大值設(shè)置為 9999 ALTER SEQUENCE table_name_id_seq MAXVALUE 9999;
完成上述步驟后,每次向表中插入新記錄時,ID 列都會自動遞增??梢允褂靡韵旅畈榭串?dāng)前序列的值:
SELECT nextval('table_name_id_seq');
這就是在 PostgreSQL 中將 ID 進行遞增的基本方法。
附:pgsql如何對已有表實現(xiàn)主鍵id自增和更改字段為布爾類型
一、問題:很多小伙伴在把mysql數(shù)據(jù)庫里面的表導(dǎo)入pgsql數(shù)據(jù)庫的時候,會遇到新增數(shù)據(jù)的時候,id不自增。這是因為mysql數(shù)據(jù)庫可以在工具(比如Navicat上直接設(shè)置主鍵id自增),但是pgsql數(shù)據(jù)庫需要先進行主鍵序列化,然后才可以設(shè)置自增。
二、操作流程:
1、(我這里是用的navicat)點擊查詢。1是表格名字,2是id名,3是從數(shù)字幾開始自增,4是保存的序列名(注意:4一定要和1+2相等)。先執(zhí)行第一條sql再執(zhí)行第二條。
sql:create sequence sys_users_jobs_user_id_seq start with 135 increment by 1 no minvalue no maxvalue cache 1;
alter table sys_users_jobs alter column user_id set default nextval('sys_users_jobs_user_id_seq');

2、最后避免自己忘記了,一定要在表格(設(shè)計表下,把默認序列寫上,避免自己搞忘記了。)
nextval(‘col_car_id_seq’::regclass)

二、后端實體類是布爾類型,但是我們把mysql數(shù)據(jù)庫導(dǎo)入pgsql數(shù)據(jù)庫后,表格里面的字段變成l varchar類型或者int4類型。這個時候就需要我們自己操作一下,更改字段類型。
1表示表格名,2表示字段名,3是需要更改成的數(shù)據(jù)類型,4是原來的數(shù)據(jù)類型。如果執(zhí)行報錯,很大原因是目前的數(shù)據(jù)數(shù)據(jù)類型不支持更改成你想要的數(shù)據(jù)類型。這里建議可以先轉(zhuǎn)為varchar類型,然后再轉(zhuǎn)成自己想要得數(shù)據(jù)類型。
sql:
ALTER TABLE "public"."t_wf_action" ALTER COLUMN "is_delete" TYPE bool USING (is_delete::int::bool)

總結(jié)
到此這篇關(guān)于postgresql設(shè)置id自增的基本方法的文章就介紹到這了,更多相關(guān)postgresql設(shè)置id自增內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
postgresql行轉(zhuǎn)列與列轉(zhuǎn)行圖文教程
PostgreSQL是一種開源的關(guān)系型數(shù)據(jù)庫,它提供了多種管理工具來操作數(shù)據(jù)庫,下面這篇文章主要給大家介紹了關(guān)于postgresql行轉(zhuǎn)列與列轉(zhuǎn)行的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-06-06
postgresql數(shù)據(jù)庫導(dǎo)出和導(dǎo)入及常用的數(shù)據(jù)庫管理工具
數(shù)據(jù)庫的導(dǎo)入導(dǎo)出是最常用的功能之一,而PostgreSQL提供的對應(yīng)工具為pg_dump和pg_restore。pg_dump是用于備份PostgreSQL數(shù)據(jù)庫的工具,下面這篇文章主要給大家介紹了關(guān)于postgresql數(shù)據(jù)庫導(dǎo)出和導(dǎo)入及常用的數(shù)據(jù)庫管理工具使用的相關(guān)資料,需要的朋友可以參考下2023-04-04
postgresql 實現(xiàn)修改jsonb字段中的某一個值
這篇文章主要介紹了postgresql 實現(xiàn)修改jsonb字段中的某一個值操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01
postgresql如何查詢重復(fù)計數(shù)及去重查詢
這篇文章主要介紹了postgresql如何查詢重復(fù)計數(shù)及去重查詢問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11

