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文件中插入,这就是为什么我无法理解如何编写这个逻辑。
谢谢。
cur.execute(“插入雇主(id,name ...)值(%s,%s ...)”,(7,“Prosenjit Das”......)ON CONFLICT(id)DO UPDATE SET name = excluded.name)
这是我得到的最有效的方法,这里id必须是主键,否则你将获得“唯一约束匹配”之类的错误。