【发布时间】:2017-04-02 07:28:38
【问题描述】:
我正在使用 postgres 9.5。作为应用程序初始化的一部分,我在应用程序启动时使用随机 id 在数据库中进行了一些插入。像insert into student values(1,'abc'),insert into student values(10,'xyz') 这样的东西。然后我开发了一些其他 API,它们以编程方式插入新行。有什么方法可以告诉 postgres 跳过已经使用的 id?
它试图占用已经使用的 id。我注意到它没有更新初始插入的序列
这是我创建表格的方式
CREATE TABLE student(
id SERIAL PRIMARY KEY,
name VARCHAR(64) NOT NULL UNIQUE
);
【问题讨论】:
-
添加了表定义。当我尝试使用 API 插入时,是否仍然可以使用 ids 1 然后 10 插入并且仍然跳过 10?在 API 中,我使用
insert into student values(default, 'def')而不是数字 ID。
标签: postgresql database-sequence