gpt4 book ai didi

python - SQLAlchemy + Postgres + Python 完整性错误

转载 作者:行者123 更新时间:2023-11-29 13:36:15 25 4
gpt4 key购买 nike

我有一个 python 应用程序,我相信它使用 postgres 9.1 和 sqlalchemy 0.7 在 2.7 版上运行。

我有一个 wx python gui,我可以从中添加和删除项目。代码工作正常但现在在进行一些修改后我收到了

$self.session.commit()
$ File "build\bdist.win32\egg\sqlalchemy\orm\session.py", line 645, in commit
$ File "build\bdist.win32\egg\sqlalchemy\orm\session.py", line 313, in commit
$ File "build\bdist.win32\egg\sqlalchemy\orm\session.py", line 297, in _prepare_impl
$ File "build\bdist.win32\egg\sqlalchemy\orm\session.py", line 1547, in flush
$ File "build\bdist.win32\egg\sqlalchemy\orm\session.py", line 1616, in _flush
$ File "build\bdist.win32\egg\sqlalchemy\orm\unitofwork.py", line 328, in execute
$ File "build\bdist.win32\egg\sqlalchemy\orm\unitofwork.py", line 472, in execute
$ File "build\bdist.win32\egg\sqlalchemy\orm\mapper.py", line 2291, in _save_obj
$ File "build\bdist.win32\egg\sqlalchemy\engine\base.py", line 1405, in execute
$ File "build\bdist.win32\egg\sqlalchemy\engine\base.py", line 1538, in
$ _execute_clauseelement
$ File "build\bdist.win32\egg\sqlalchemy\engine\base.py", line 1646, in
$_execute_context
$ File "build\bdist.win32\egg\sqlalchemy\engine\base.py", line 1639, in
$_execute_context
$ File "build\bdist.win32\egg\sqlalchemy\engine\default.py", line 330, in do_execute
$sqlalchemy.exc.IntegrityError: (IntegrityError) duplicate key value violates
$ unique constraint "Equipment_pkey"
$DETAIL: Key (id)=(4) already exists.
$ 'INSERT INTO "Equipment" (name, "numPorts") VALUES (%(name)s, %(numPorts)s)
$RETURNING "HWCIs".id' {'numPorts': 0, 'name': u'jkhj'}

现在,当我重新启动应用程序时, key ID 增加了一个。我可以清楚地看到某些东西正在重置数据库的 ID 序列。任何人都可以帮助我如何通过编写 python 代码来解决这个问题,或者解决这个问题的简单步骤是什么。我尝试通过 psql 命令工作,但由于我缺乏知识而没有成功。如果可以通过简单的步骤解释解决方案,那就太好了。

最佳答案

好吧,我找到了答案。我正在连接到另一个数据库连接,这导致数据库序列重置为 1。因此,当应用程序启动时,它会寻找 position 1。所以我只需要将 sequence 更改为 last no。有效!

关于python - SQLAlchemy + Postgres + Python 完整性错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10424732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com