【问题标题】:Postgres: How to 'INSERT INTO ... IF NOT EXISTS ...'Postgres:如何“插入……如果不存在……”
【发布时间】:2013-04-04 09:26:14
【问题描述】:

我有一个 postgres 表来跟踪几所不同学校的时间表时间段,我正在尝试编写一个函数(在 javascript 中使用 node-postgres 库),该函数在每个时间段插入 1 个新行下一周每所学校的一天。

谁能帮我弄清楚 WITH 命令能够(在一个查询中)检查表中是否已经存在特定的学校/日期/时间组合,如果不存在,则插入它?这有意义吗?

【问题讨论】:

    标签: postgresql node-postgres


    【解决方案1】:

    听起来你想为你的数据库添加一个约束。

    ALTER TABLE school_table 
    ADD CONSTRAINT school_date_time_uniq 
    UNIQUE (school_name, school_date, school_time);
    

    您有什么特别的原因要使用 with 子句吗?

    【讨论】:

    • 效果很好,非常感谢。我想使用 WITH 子句没有任何特别的原因,只是错误地认为我需要这样做。
    • 太好了,欢迎来到 SO。如果您尝试一个答案并且它有效,请选择该答案,以便其他用户可以看到问题已解决。谢谢,祝你好运!
    猜你喜欢
    • 2011-05-03
    • 2023-02-06
    • 2013-02-18
    • 2018-09-17
    • 2019-01-16
    • 1970-01-01
    • 2011-04-19
    • 2017-04-24
    • 1970-01-01
    相关资源
    最近更新 更多