【问题标题】:database exists column values won't be added postgresql in python数据库存在列值不会在python中添加postgresql
【发布时间】:2019-03-05 13:59:25
【问题描述】:

代码

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】:

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

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

    【讨论】:

      猜你喜欢
      • 2010-10-05
      • 1970-01-01
      • 1970-01-01
      • 2020-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-17
      相关资源
      最近更新 更多