【问题标题】:POSTGRESQL ADD DATA WHITH PYTHON WITHOUT DUPLICATEDPOSTGRESQL 使用 Python 添加数据而不重复
【发布时间】:2021-04-25 05:50:07
【问题描述】:

我正在尝试使用 python 脚本在 POSTGRESQL 中插入数据。

之前,我需要验证表格中是否不存在信息。

我使用下面的请求,但我有一个错误:“WHERE”或附近的语法错误

感谢您的帮助

INSERT INTO data_brute_polluant 
VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) 
where not exists (
            select date_debut, code_st 
            from data_brute_pol 
            where  date_debut = data_brute_po.date_debut 
            AND code_st = data_brute_po.code_st); 

【问题讨论】:

  • 欢迎来到 Stack Overflow。请不要大喊大叫。
  • 抱歉,是为了标题?
  • 是的,您将其输入到问题标题的单独字段中。 Stack Overflow 知道这是您的标题,您可能会注意到 Stack Overflow 已将其显着地格式化为大而粗的字体。 SHOUTING 是不必要且烦人的。让 SO 为您格式化标题,并在您对 PostgresQL 大喊大叫的问题正文中,要么根本不强调它(这里不需要 IMO),要么 use Markdown 将其格式化为 italic i> 或者,如果必须,粗体

标签: python sql postgresql duplicates


【解决方案1】:

如果您希望 date_debutcode_st 上没有重复项,请使用唯一约束或索引:

alter table add constraint unq_data_brute_polluant 
    unique data_brute_polluant(date_debut, code_st);

然后使用on conflict:

INSERT INTO data_brute_polluant 
    VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) 
    ON CONFLICT DO NOTHING;

【讨论】:

    猜你喜欢
    • 2018-01-08
    • 1970-01-01
    • 2017-02-20
    • 2014-07-04
    • 2018-12-07
    • 2020-02-23
    • 2021-10-16
    • 1970-01-01
    • 2020-01-24
    相关资源
    最近更新 更多