数据库存在列值不会在python中添加postgresql

问题描述 投票:0回答:1

code

cur.execute("insert into employers (id, name ...) values (%s, %s ...)", (7, "Prosenjit Das" ...) WHERE NOT EXISTS (SELECT * FROM employers WHERE VALUES = %s))
conn.commit()

如何在这里检查我的存在列值,好像值没有添加。例如,我已经id = 7并且命名为“prosenjit Das”,如果我想添加id = 7和name =“something”,那么它将不会被添加到表中。如果id是唯一的,请检查那里。因为大多数时候我必须使用相同的值执行。

我是Postgresql的新手,我的数据将从我的python文件中插入,这就是为什么我无法理解如何编写这个逻辑。

谢谢。

database python-3.x postgresql exists insert-into
1个回答
0
投票

cur.execute(“插入雇主(id,name ...)值(%s,%s ...)”,(7,“Prosenjit Das”......)ON CONFLICT(id)DO UPDATE SET name = excluded.name)

这是我得到的最有效的方法,这里id必须是主键,否则你将获得“唯一约束匹配”之类的错误。

© www.soinside.com 2019 - 2024. All rights reserved.