[英]Error: Key already exists
我正在使用postgres(psycopg2)和python从Facebook页面获取信息。 我得到一个json对象并遍历所有帖子,以便创建和连接插入查询字符串。 与一些用户一起,我遇到以下错误:
ERROR: A duplicate key value violates the unique constraint "fb_post_pkey"
DETAIL: Key (id) = (xxx) already exists.
我应该怎么做才能提交查询? 我可以从json对象中删除重复密钥吗?
这意味着您的数据库可以正常工作。 您的表格已配置为不允许重复。 有两种处理方式,具体取决于您的业务需求是什么
try:
# sql insert command here
except IntegrityError:
# tell the user here.
另一个选择是使用数据库通过ON CONFLICT子句正常处理此问题
可选的ON CONFLICT子句指定了引发唯一违反或排除约束违反错误的替代操作。 对于提议插入的每个单独行,要么继续插入,要么如果违反了由conflict_target指定的仲裁者约束或索引,则采用替代性的冲撞行为。 发生冲突时,别无所求,只是避免插入一行作为其替代操作。 ON CONFLICT DO UPDATE更新现有行,该行与作为替代操作提议插入的行冲突。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.