PG庫 修改主鍵欄位為自增

2021-10-10 12:08:25 字數 845 閱讀 8430

起因:頁面需要往資料庫插入資料,但是id沒有設定自增,這很不利於我們的開發,要根據id來區別資料的唯一性

做法:首先建立乙個序列:

create sequence "public"."generator_room_id" 

increment 1

start 10

minvalue 10

maxvalue 999999999

cache 1

generator_room_id 為唯一的序列,來指定,某個字段使用這種方式進行自增

increment 1  每次自增1

start 10  從10 開始, 也可以從1開始

然後: 我們修改資料庫的列屬性

alter table "public"."ops_generator_room_info"

alter column generator_room_id set default nextval('generator_room_id'::regclass)

修改generator_room_id列使用generator_room_id 序列

到此則修改完成

補充:如果想在資料庫開始則設定為自增  則將資料庫的資料型別設定為serial 即可

如果資料庫已經有了資料,如果讓資料庫的id從現在資料庫id後面繼續自增呢

select setval('generator_room_id',(select (max(id) from ops_generator_room)))
含義為:設定generator_room_id序列的從當前庫裡面的最大值id開始自增

sqlserver修改主鍵為自增

使用powerdesigner建立一張表,拷貝建表語句發現id不是自增的,以下是修改語句 alter table user job exe rec drop column id alter table user job exe rec add id int identity 1,1 注 這只適用於剛...

sqlserver 自增字段修改為普通主鍵字段

增加備份字段 alter table tablename add columnnamebak bigint 將主鍵自增字段 賦值到備份字段 update tablenameset columnnamebak columnname 刪除主鍵備份字段約束 alter table tablenamedro...

oracle 如何設定主鍵自增(自增長字段)

oracle有點麻煩,需要使用序列和觸發器達到目的。具體步驟如下 一 建立資料表 create table aaa employee id int deptno number,empno number,ename varchar2 16 job varchar2 32 sal float,hired...