PostgreSQL数据库,修改表主键为自增列

111 阅读1分钟

前提:已经创建好表,这里主要做修改表结构,将‘tableName’改为自己表的名字,‘id’改为需要修改的列名

步骤:

  1. 备份数据: 在进行任何结构更改之前,请务必备份您的数据,以防发生意外情况。
  2. 删除现有主键约束:
 ALTER TABLE tableName DROP CONSTRAINT tableName_pkey;
  1. 添加自增序列:
CREATE SEQUENCE tableName_id_seq;
  1. 修改列类型:
ALTER TABLE tableName ALTER COLUMN id SET DATA TYPE serial;
  1. 设置默认值:
ALTER TABLE tableName ALTER COLUMN id SET DEFAULT nextval('tableName_id_seq'::regclass);
  1. 添加新的主键约束
ALTER TABLE tableName ADD PRIMARY KEY (id);

------------------------------------------分割线 ------------------------------------------------------------------------------- 直接在创建表的时候创建自增id

CREATE TABLE jnlconfig (
    id SERIAL PRIMARY KEY,
    -- 其他列的定义
);

---------------分割线------------------------------- 设置数据库字段默认值

-- 为表中的字段设置默认值
ALTER TABLE table_name
ALTER COLUMN column_name SET DEFAULT default_value;

例如,如果要将表 students 中的 age 字段的默认值设置为 18

ALTER TABLE students
ALTER COLUMN age SET DEFAULT 18;