栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在PostgreSQL中移动(更新)唯一列值

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在PostgreSQL中移动(更新)唯一列值

这确实有点令人困惑,因为在DML操作期间,所有其他约束都是在语句级别上评估的,仅PK /唯一约束是在每行级别上评估的。

但是,您可以通过将主键约束声明为可延迟来解决此问题:

create table tbl_test (  testkey   INTEGER,  constraint pk_tbl_test primary key (testkey) deferrable initially immediate);insert into tbl_test values (1), (2);set constraints all deferred;update tbl_test   set testkey = testkey +1;

延迟约束确实有一些开销,因此可以通过将其定义为

initially immediate
将开销最小化来进行定义。您可以使用在需要时推迟约束评估
setconstraint


但是,真正的问题是:为什么要对主键值执行此操作?PK值毫无意义,因此似乎没有必要增加所有值(无论使用的是DBMS如何)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/614446.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号