PostgreSQL Navicat建表没发现主键自增

积攒的草稿有点多啊。。。。

在navicat中MySQL 里面有auto_increment 自增字段

CREATE TABLE IF NOT EXISTS `htloginlog` (
  "id" serial  INT UNSIGNED AUTO_INCREMENT,
  "uid" INT NOT NULL,
  "returncode" INT NOT NULL,
  "returnmsg" varchar,
  "loginat" timestamp NOT NULL,
  "usertype" INT ,
 PRIMARY KEY (`id`),
)ENGINE=InnoDB DEFAULT CHARSET=utf8;


PostgreSQL没有自动增加的单选框???

PostgreSQL没有自增字段, 有单独的对象:序列。
PostgreSQL 使用序列来标识字段的自增长

那如何设定主键自增 呢???

像上面我们把表创建完了,就差主键自增这个功能。这个时候,我们右键该表,选择 转储为SQL文件;复制文件内容,创建查询  按下面的要求进行更改后再运行。

 "id" serial  NOT NULL constraint htloginlog_pkey primary key,

id 原本是 int4,现在改成serial  ,后面加上 constraint htloginlog_pkey,
htloginlog_pkey是名字每个表都不一样

   运行完了后 刷新左侧表菜单,找到这张表,右键--设计表,下边默认的文本框出现

nextval('htloginlog_id_seq'::regclass)

DROP TABLE IF EXISTS "public"."htloginlog";
CREATE TABLE "public"."htloginlog" (
  "id" serial  NOT NULL constraint htloginlog_pkey primary key,
  "uid" int4 NOT NULL,
  "returncode" int4 NOT NULL,
  "returnmsg" varchar(150) COLLATE "pg_catalog"."default",
  "loginat" timestamp(6) NOT NULL,
  "usertype" int4
)
;
COMMENT ON COLUMN "public"."htloginlog"."id" IS '主键,自增';
COMMENT ON COLUMN "public"."htloginlog"."uid" IS '操作员编号';
COMMENT ON COLUMN "public"."htloginlog"."returncode" IS '登陆返回码';
COMMENT ON COLUMN "public"."htloginlog"."returnmsg" IS '登陆返回信息';
COMMENT ON COLUMN "public"."htloginlog"."loginat" IS '登录时间';
COMMENT ON COLUMN "public"."htloginlog"."usertype" IS '用户类型';
COMMENT ON TABLE "public"."htloginlog" IS '登陆日志表  每个用户登录时都要记录';

主键自增极限,对于整型数据来说,它的取值范围:-2147483647~ 2147483647

主键类型设为int,其最大值为:2147483647    21个亿对普通表来说很大了,也够用
对于历史订单的数据,它要求的主键个数普遍以亿做单位。像网上购物后出现的订单号显然是用字符串(varchar)当做主键,生成规则类似UUID+内部规定的规则。

那么PostgreSQL取值极限分为三种  SMALLSERIAL、SERIAL 和 BIGSERIAL :

伪类型存储大小范围
SMALLSERIAL2字节1 到 32,767
SERIAL4字节1 到 2,147,483,647
BIGSERIAL8字节1 到 922,337,2036,854,775,807
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

huang_ftpjh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值