今天APP遇到一个莫名其妙的BUG,查了很久的代码,都感觉没有问题。最后只好从数据库下手查,结果发现,是表中的自增ID出现问题,在插入数据时,会时成功时失败,因为主键ID重复。
解决办法是,设置自增ID从某个最大值开始。
表结构查询方法:
db_elone=# \d read_record;
Table "public.read_record"
Column | Type | Collation | Nullable | Default
---------------+--------------------------+-----------+----------+-----------------------------------------
id | bigint | | not null | nextval('read_record_id_seq'::regclass)
created_at | timestamp with time zone | | |
updated_at | timestamp with time zone | | |
deleted_at | timestamp with time zone | | |
Indexes:
"read_record_pkey" PRIMARY KEY, btree (id)
"idx_read_record_deleted_at" btree (deleted_at)
(END)
复制代码
db_elone=# SELECT MAX(id) FROM read_record;
max
------
1565
(1 row)
db_elone=# SELECT setval('read_record_id_seq', 1600); // 设置为1600开始自增
setval
--------
1600
(1 row)
复制代码
不明白为什么会突然出现这个bug 。
==========================华丽的分隔线=========================
个人主页: YEE领域
背单词Flutter APP: 领域英语APP
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END