解决postgresql 自增id作为key重复的问题
啥也不说啦,看代码吧~
SELECT setval(‘data_tracking_au_sec_id_seq', (SELECT MAX(id) FROM data_tracking_au_sec)+1);
data_tracking_au_sec_id_seq:
可以再DDL查看到
data_tracking_au_sec:
表名
补充:【Postgresql】-主键自增,插入数据时提示违背主键唯一性
错误备忘录:
1.主键自增,插入数据时提示违背主键唯一性
报错原因是自增主键的序列值与当前主键的字段值不匹配,我们现在需要设置当前最大主键值为序列值,执行下面的语句
SELECT setval('pgsql_article_id_seq', 60000);
--将序列值设为60000,也可将其设为当前表的Id最大值Max(Id)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。
相关推荐
-
postgresql 导入数据库表并重设自增属性的操作
postgresql使用Navicat软件导出数据库表,在导入会数据库的操作. postgresql 的自增字段 是通过 序列 sequence来实现的. 1.先删除导出的数据库表中的自增属性 2.导入数据库表之后,需要创建序列. 注:一般序列名称由数据表名+主键字段+seq组成 (通常情况下主键字段即为自增字段),如下表名为cof_table_hot_analysis,主键字段为 id CREATE SEQUENCE cof_table_hot_analysis_id_seq START WI
-
在PostgreSQL中设置表中某列值自增或循环方式
在postgresql中,设置已存在的某列(num)值自增,可以用以下方法: //将表tb按name排序,利用row_number() over()查询序号并将该列命名为rownum,创建新表tb1并将结果保存到该表中 create table tb1 as (select *, row_number() over(order by name) as rownum from tb); //根据两张表共同的字段name,将tb1中rownum对应值更新到tb中num中 update tb set
-
postgresql修改自增序列操作
在 mysql 中,实现 id 自增的方式是依靠加一个 auto_increment 标志,而在 pgsql 中,id 自增是通过序列 SEQUENCE. 创建表时设置自增序列为: CREATE TABLE "config" ( "id" int4 NOT NULL DEFAULT nextval('config_id_seq'::regclass), ... }; 如果需要修改创建表之后的序列,如: ----删除前先解除 id 对该序列的依赖 ALTER TABL
-
解决postgresql 自增id作为key重复的问题
啥也不说啦,看代码吧~ SELECT setval('data_tracking_au_sec_id_seq', (SELECT MAX(id) FROM data_tracking_au_sec)+1); data_tracking_au_sec_id_seq:可以再DDL查看到 data_tracking_au_sec:表名 补充:[Postgresql]-主键自增,插入数据时提示违背主键唯一性 错误备忘录: 1.主键自增,插入数据时提示违背主键唯一性 报错原因是自增主键的序列值与当前主键的
-
MySQL的自增ID(主键) 用完了的解决方法
在 MySQL 中用很多类型的自增 ID,每个自增 ID 都设置了初始值.一般情况下初始值都是从 0 开始,然后按照一定的步长增加(一般是自增 1).一般情况下,我们都是用int(11)来作为数据表的自增 ID,在 MySQL 中只要定义了这个数的字节长度,那么就会有上限. MySQL的自增ID(主键) 用完了,怎么办? 如果用 int unsigned (int,4个字节 ), 我们可以算下最大当前声明的自增ID最大是多少,由于这里定义的是 int unsigned,所以最大可以达到2的32幂
-
java8 toMap问题(key重复如何解决)
目录 java8 toMap(key重复解决) Collectors.toMap的key重复 解决方案一 解决方案二 java8 toMap(key重复解决) 使用stream的toMap()函数时,当key重复,系统会报错相同的key不能形成一个map,那么需要解决这个问题 相同key的情况下,丢弃重复的只保留一个 相同key的情况下,把value变成list,形成Map(Object,List<Object>)的形式 1.当key重复,使用最后一个value为值 2.当key重复,使用li
-
mysql自增id超大问题的排查与解决
引言 小A正在balabala写代码呢,DBA小B突然发来了一条消息,"快看看你的用户特定信息表T,里面的主键,也就是自增id,都到16亿了,这才多久,在这样下去过不了多久主键就要超出范围了,插入就会失败,balabala......" 我记得没有这么多,最多1k多万,count了下,果然是1100万.原来运维是通过auto_increment那个值看的,就是说,表中有大量的删除插入操作,但是我大部分情况都是更新的,怎么会这样? 下面话不多说了,来一起看看详细的介绍吧 问题排查 这张表
-
MySQL表自增id溢出的故障复盘解决
问题:MySQL某个表自增id溢出导致某业务block 背景: tokudb引擎的一个大表tb1,存放业务上的机审日志,每天有大量的写入, 并且由于历史原因,这张表是int signed 类型的,最大只能存 2147483647行记录 . 处理过程: 增加DBLE中间件代理,然后做range分区,将新数据写到新加的的一个分片上. 同时业务上修改连接将这个表tb1的连接方式改走DBLE. 但是业务上改完代码后,发现还有残余的部分insert into tb1的写请求被转发到了老的表上,且有些表被错
-
利用mysql事务特性实现并发安全的自增ID示例
项目中经常会用到自增id,比如uid,最简单的方法就是用直接用数据库提供的AUTO_INCREMENT,但是如果用户量非常大,几千万,几亿然后需要分表存储的时候呢,这种方案就搞不定了,所以最好有一个全局的自增ID的生成器,不管是否分表,都能从生成器中获取到全局自增的ID. 实现方法应该有很多,不过所有的方案都需要解决一个问题,就是保证在高并发的情景下,数据获取依然正确,每次获取的ID都不会重复. 这里我分享两种利用mysql的innodb的事务特性来实现的方案,一种是实现过了的,另一种没有试验过
-
mysql自增ID起始值修改方法
在mysql中很多朋友都认为字段为AUTO_INCREMENT类型自增ID值是无法修改,其实这样理解是错误的,下面介绍mysql自增ID的起始值修改与设置方法.通常的设置自增字段的方法:创建表格时添加: 复制代码 代码如下: create table table1(id int auto_increment primary key,...) 创建表格后添加: 复制代码 代码如下: alter table table1 add id int auto_increment primary key 自
-
快速解决PostgreSQL中的Permission denied问题
想开始学习SQL和Excel那本书,觉得自己亲手去输入才是正道.发现程序后续会用到窗口函数,可是我的mysql没有窗口函数,这本书所提供的数据脚本分别是MS SQL Sever和PostreSQL. 上午我先安装的sql sever,可是由于比较大且在安装时出现了一些小的问题(安装缓慢,服务启动不了).无奈选择了PostreSQL,体积小,安装顺利. 导入数据比较特别,先建一个表,然后把同名txt导入进去.一定要用unix方式的路径. copy这个语句先前在mysql上没有遇到过.学习下....
-
线上MySQL的自增id用尽怎么办
目录 表定义自增值id InnoDB系统自增row_id Xid Innodb trx_id InnoDB数据可见性的核心思想 thread_id 总结 MySQL的自增id都定义了初始值,然后不断加步长.虽然自然数没有上限,但定义了表示这个数的字节长度,计算机存储就有上限.比如,无符号整型(unsigned int)是4个字节,上限就是2^32 - 1.那自增id用完,会怎么样? 表定义自增值id 表定义的自增值达到上限后的逻辑是:再申请下一个id时,得到的值保持不变. mysql> crea
-
Mysql数据库自增id、uuid与雪花id详解
目录 概念介绍 三种主键 聚簇索引与非聚簇索引 自增id uuid 雪花id与应用 总结 概念介绍 三种主键 自增id :1 2 3 4 5…… uuid :UUID是Universally Unique Identifier的缩写,它是在一定的范围内(从特定的名字空间到全球)唯一的机器生成的标识符.通用唯一标识符的意思,可以以业务实际user id为主键 比如QQ号 手机号等 雪花id :相比UUID无序生成的id而言,雪花算法是有序的(有时间参数),而且都是由数字组成.雪花id最大为64位,
随机推荐
- Struts2中Action中是否需要实现Execute方法
- JavaScript对象数组排序函数及六个用法
- C#推送信息到APNs的方法
- Yii使用DeleteAll连表删除出现报错问题的解决方法
- python实现删除文件与目录的方法
- winform简单缓存类实例
- C#实现rabbitmq 延迟队列功能实例代码
- http请求绕过Filter的实现实例
- BootstrapValidator超详细教程(推荐)
- c#实现md5加密示例
- 显示同一分组中的其他元素的sql语句
- 用JQuery在网页中实现分隔条功能的代码
- 简单易懂的python环境安装教程
- 虚拟主机应该如何解决电信网通间互联互通
- Java编程实现数组转成list及list转数组的方法
- Symfony生成二维码的方法
- PHP设计模式之适配器模式代码实例
- 详解Angular5 服务端渲染实战
- Java中的传值与传引用实现过程解析
- 9102年webpack4搭建vue项目的方法步骤