0

我的表类topics如下。主键是自动生成的序列键。在测试时,我从表中删除了行并试图再次重新插入它们。UUID 未重置。

class Topics(db.Model):
    """ User Model for different topics """
    __tablename__ = 'topics'

    uuid = db.Column(db.Integer, primary_key=True)
    topics_name = db.Column(db.String(256),index=True)

    def __repr__(self):
        return '<Post %r>' % self.topics_name

我尝试了以下命令来重置密钥

ALTER SEQUENCE topics_uuid_seq RESTART WITH 1;

那没起效。
我将不胜感激任何形式的建议!

4

1 回答 1

2

如果它确实是一个serialID,你可以重置拥有SEQUENCE的:

SELECT setval(pg_get_serial_sequence('topics', 'uuid'), max(uuid)) FROM topics;

看:

不同步时如何重置postgres的主键序列?

但是为什么会叫这个名字uuid呢?UUID不是integer数字,也不是serial. 此外,当您编写以下内容时,并不完全清楚出了什么问题:

UUID 未重置。

关于ALTER SEQUENCE ... RESTART

于 2021-05-23T23:18:24.763 回答