amr*_*mrx 2 python postgresql sqlalchemy
我有一个模型类:
class User(PBase):
__tablename__ = "users"
id = Column(Integer, primary_key=True)
name = Column(String, nullable=False, unique=True)
Run Code Online (Sandbox Code Playgroud)
现在根据文档,当类型Integer与primary_key一起使用时,会自动生成一个序列.这是输出表
id | integer | not null default nextval('users_id_seq'::regclass)
Run Code Online (Sandbox Code Playgroud)
如您所见,在修饰符列中生成默认序列.
但是当我尝试添加第二个用户时,我在主键约束上得到完整性错误.
IntegrityError) duplicate key value violates unique constraint "users_pkey"
DETAIL: Key (id)=(1) already exists.
Run Code Online (Sandbox Code Playgroud)
这有什么不对?
编辑:添加用户的代码,快照
def create(name, email, roleid)
with self._session_context() as session:
user = User(name, email, roleid)
session.add(user)
session.commit()
Run Code Online (Sandbox Code Playgroud)
小智 6
可以通过对您的数据库发出以下查询来解决。
SELECT setval('users_id_seq', MAX(id)) FROM users;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1849 次 |
| 最近记录: |