postgresql 插入数据 设置 自动生成主键为uuid格式

postgresql 插入数据 设置 自动生成主键为uuid格式:

通常postgresql 主键设置为int 自增类型,但是也有很多业务场景需要uuid

1、数据库插件安装:

安装 uuid_generate_v4() 扩展函数

create extension "uuid-ossp"

检验函数

 select uuid_generate_v4()


2、 创建表结构格式:

create table table_name
(
  id UUID PRIMARY KEY DEFAULT uuid_generate_v4()
);

比如:

CREATE TABLE "public"."pipe_car" (
  "id" UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
  "pipe_id" varchar(50) COLLATE "pg_catalog"."default",
  "car_id" varchar(8) COLLATE "pg_catalog"."default"
);

或者:

CREATE TABLE "public"."pipe_car" (
  "id" varchar(50) COLLATE "pg_catalog"."default" NOT NULL DEFAULT uuid_generate_v4(),
  "id" UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
  "pipe_id" varchar(50) COLLATE "pg_catalog"."default",
  "car_id" varchar(8) COLLATE "pg_catalog"."default",
   CONSTRAINT "pole_pole_cable_pkey" PRIMARY KEY ("id")
);

3、修改为uuid的操作:

你不能只是把一个int4加到uuid;这将是一个无效的uuid,只有32位设置,高96位为零。

如果要生成新的UUID以完全替换整数,并且如果没有这些整数的现有外键引用,则可以使用实际生成新值的假转换。

不要在没有数据备份的情况下运行。它永久地抛弃了colA中的旧值。

ALTER TABLE tableA ALTER COLUMN colA SET DATA TYPE UUID USING (uuid_generate_v4());

 

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

寅灯

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

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

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

打赏作者

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

抵扣说明:

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

余额充值