Postgresql实现主键自增
Postgresql实现主键自增
方法一
如果是使用navicat(我这是navicat15,不同的版本应该是一样的),直接在建表的时候选标识即可,如图
随便选一个即可,好像没差别,我都试过,我这选的第二个,generated by default
我们来测试一下
确实有成功插入,主键是自动生成的
我看了一下它的建表SQL语句是这样的,在建表的时候就指定了id的步长、最小值、最大值和开始值
CREATE TABLE "public"."t_test_gen" (
"id" int4 NOT NULL GENERATED BY DEFAULT AS IDENTITY (
INCREMENT 1
MINVALUE 1
MAXVALUE 2147483647
START 1
),
"name" varchar(255) COLLATE "pg_catalog"."default",
CONSTRAINT "t_test_gen_pkey" PRIMARY KEY ("id")
)
;
ALTER TABLE "public"."t_test_gen" OWNER TO "postgres";
方法二
我发现在有些情况下,你建表的时候并没有这个“标识”(比如我在centos上的pgsql建表就没有),如图
这时候就得自己建一个序列来让主键自动生成了,如图
sql语句如下
create SEQUENCE t_test_gen_id_seq start 1
好了,现在我们再来测试一下
发现失败了,因为我们只是创建了序列,并没有使用,接下来我们来使用它,在id的默认值里选中序列
nextval('t_test_gen_id_seq'::regclass)
接下来我们再来试试,这回成功了
来看看结果
我们来看看SQL语句
CREATE TABLE "public"."t_test_gen" (
"id" int4 NOT NULL DEFAULT nextval('t_test_gen_id_seq'::regclass),
"name" varchar(255) COLLATE "pg_catalog"."default",
CONSTRAINT "t_test_gen_pkey" PRIMARY KEY ("id")
)
;
ALTER TABLE "public"."t_test_gen" OWNER TO "postgres";
٩(๑❛ᴗ❛๑)۶
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfhagfi
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13