最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

postgresql重置序列起始值的操作

 更新時(shí)間:2021年01月04日 11:36:12   作者:weixin_43169720  
這篇文章主要介紹了postgresql重置序列起始值,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

我就廢話不多說了,大家還是直接看代碼吧~

-- 序列重置到1000
alter sequence sequence_name restart with 1000
-- 驗(yàn)證
SELECT nextval('sequence_name');

補(bǔ)充:postgresql重置序列和自增主鍵

1. 問題背景

數(shù)據(jù)表中插入了幾條測試數(shù)據(jù),后又手動(dòng)刪除,導(dǎo)致后面插入數(shù)據(jù)的時(shí)候報(bào)主鍵沖突:

 ERROR: duplicate key value violates unique constraint "tableName_pkey"
DETAIL: Key (id)=(1) already exists.

即使采用INSERT IGNORE的方式或者REPLACE INTO的方式還是報(bào)錯(cuò),所以就想著重置自增序列和主鍵。

2. 解決辦法

2.1 方法一

(1)重置序列起始值為1

alter sequence xxx_id_seq restart with 1

(2)查看當(dāng)前序列

SELECT nextval('xxx_id_seq ');

(3)重置自增主鍵

TRUNCATE tableName RESTART IDENTITY;

2.2 方法二

(1)清除所有的記錄

TRUNCATE tablename questions CASCADE;

(2)清除所有的記錄,并且索引號(hào)從0開始

TRUNCATE tablename questions RESTART IDENTITY CASCADE;

2.3 方法三

也有可能是自增主鍵和序列不一致導(dǎo)致的,所以也可以不用重置序列起始值和主鍵,采取把序列號(hào)改成和當(dāng)前最大主鍵一致的方式:

select setval('xxx_id_seq', max(id)) from tableName;

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

最新評(píng)論

临海市| 兴文县| 门源| 肇东市| 垫江县| 蒲城县| 通州区| 翼城县| 临猗县| 宣化县| 彭水| 平邑县| 涞水县| 溧水县| 榆社县| 连南| 获嘉县| 二连浩特市| 淮滨县| 富源县| 栖霞市| 台湾省| 大姚县| 伊金霍洛旗| 贵德县| 独山县| 葵青区| 基隆市| 海门市| 拜泉县| 大荔县| 托克逊县| 贞丰县| 格尔木市| 昆山市| 霞浦县| 金坛市| 阿尔山市| 上高县| 四会市| 互助|