前言:最近在使用postgresql,发现postgresql的自动增长主键不是很好设置,下面就分享一下经验
postgresql表建立后,如果没有设置主键的自动增长,再update的时候一直不会成功。
下面是我的经验(通过可视化界面设置的,如navicat),删除原来想要设置主键自动增长的id,重新再建一列,在数据类型中选择serial4或者serial8,前者是32个长度,后者是64个长度,sql预览为以下内容:
ALTER TABLE "public"."sys_user" DROP CONSTRAINT "sys_user_pkey" , DROP COLUMN "id", ADD COLUMN "id" serial8 NOT NULL, ADD CONSTRAINT "sys_user_pkey" PRIMARY KEY ("id");
点击保存后,就会看到默认栏目中显示有“nextval('sys_role_id_seq'::regclass)”,这样该列就是一个自动增长的主键ID了。