更改序列的起始值 - Postgresql

2024-03-12

我在序列号方面遇到了一个小问题:从一个文件中,我填充了我的数据库,其中有一个客户端ID(它是一个序列号,并且是我的主键)。我有 300 个客户端,因此有 300 个客户端 ID(1 到 300)。现在我的问题是,我有一个新客户的表单。我无法添加它们,因为当我添加客户时,我的程序添加了 ID 为 1 的客户,或者 ID 1 已分配给另一个客户。

所以我的问题是:是否可以更改序列号的起始值来解决此问题?


您可以使用更改序列RESTART WITH更改当前序列号;

ALTER SEQUENCE test_seq RESTART WITH 300;

要获取序列名称(如果您使用serial关键字创建序列名称),请使用

SELECT adsrc FROM pg_attrdef WHERE adrelid = (SELECT oid FROM pg_class WHERE relname = 'table name goes here'); 

用于测试的 SQLfiddle http://sqlfiddle.com/#!12/1d081/1.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改序列的起始值 - Postgresql 的相关文章

随机推荐