删除sqlalchemy中的记录后,主键ID不会重置

时间:2018-10-17 12:21:58

标签: python postgresql sqlalchemy

我正在尝试使用sqlalchemy将数据上传到Postgres数据库。

我的模型课-:

class User(Base):
    __tablename__ = "users"

    id = Column(BIGINT, nullable=False , primary_key=True)
    issuer_id = Column(Integer, ForeignKey('issuers.id'), nullable=False).....

我目前正在测试,因此我删除了数据并再次添加。

即使我正在删除所有记录,也要在151885范围内生成ID,所以它应该从1开始。为什么会这样?

1 个答案:

答案 0 :(得分:1)

您似乎将IDENTITY列用作PostgreSql中的主键。

这种类型的列会自动在记录的INSERT上为您的记录生成一个ID。由于此操作会自动生成ID,因此每次插入新记录时都会递增ID。

另一方面,当删除记录时,它不会减少ID。删除表中的所有记录后,它不会将ID重置为0或1。

有单独的查询来重置ID;但这是另一个问题。