我对串口有一点问题:从一个文件中,我填充了我的数据库,其中我有一个客户端ID(它是一个串口,它是我的主键).我有300个客户端,所以300个客户端ID(1到300).现在我的问题是,我有一个新客户的表单.我无法添加它们,因为当我添加客户端时,我的程序添加ID为1的客户端或ID 1已分配给另一个客户端.
所以我的问题是:是否可以更改序列的起始值以解决此问题?
Joa*_*son 27
您可以使用RESTART WITH更改当前序列号来更改序列;
ALTER SEQUENCE test_seq RESTART WITH 300;
Run Code Online (Sandbox Code Playgroud)
要使用serial关键字创建序列名称,请使用
SELECT adsrc FROM pg_attrdef WHERE adrelid = (SELECT oid FROM pg_class WHERE relname = 'table name goes here');
Run Code Online (Sandbox Code Playgroud)
小智 8
PostgreSQL
ALTER SEQUENCE tablename_columnname_seq RESTART WITH anynumber;
Run Code Online (Sandbox Code Playgroud)
例子:
ALTER SEQUENCE tablename_columnname_seq RESTART WITH anynumber;
Run Code Online (Sandbox Code Playgroud)
小智 5
如果您的 Postgresql 版本高于上面的答案,您可以尝试使用以下命令获取序列密钥select pg_get_serial_sequence('ingredients', 'id');
和
SELECT adsrc FROM pg_attrdef WHERE adrelid = (SELECT oid FROM pg_class WHERE relname = 'ingredients');
| 归档时间: |
|
| 查看次数: |
17984 次 |
| 最近记录: |