找回密码
 立即注册
首页 业界区 业界 PostgreSQL:新增语句:特殊处理:ON CONFLICT ... DO ( ...

PostgreSQL:新增语句:特殊处理:ON CONFLICT ... DO (UPDATE SET ...)/(NOTHING)

嫁吱裨 6 天前
1、普通的insert into


  • 如果(主键/唯一建)存在,则会报错
  • 新需求:就算冲突也不报错,用其他处理逻辑
2、基本语法(INSERT INTO ... ON CONFLICT (...) DO (UPDATE SET ...)/(NOTHING))


  • 语法图
flowchart TD    A[开始: INSERT发生主键/唯一冲突] --> B{冲突后的期望是?}    B -->|“保留旧数据,
静默跳过”| C[使用 ON CONFLICT DO NOTHING]    B -->|“用新数据替换或修改旧数据”| D[使用 ON CONFLICT DO UPDATE SET]        D --> E{需要精细控制吗?}    E -->|“是,只更新部分字段”| F[在SET中仅指定目标字段]    E -->|“是,需满足条件才更新”| G[添加WHERE子句]    E -->|“否,全量覆盖”| H[使用EXCLUDED.*或指定所有字段]<ul>
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

4 天前

举报

您需要登录后才可以回帖 登录 | 立即注册