冲突时,在具有非空约束的 Postgres 中不执行任何操作

2023-12-07

是否不可能利用“ON CONFLICT DO NOTHING”来避免插入和违反非空约束?

例如...

INSERT INTO public.users (user, user_yob, sex) 
SELECT mom, mom_yob, 'F' 
FROM staging.users 
ON CONFLICT DO NOTHING;

产生此错误并停止...

INSERT INTO public.users (user, user_yob, sex) SELECT mom, mom_yob, 'F' FROM staging.users ON CONFLICT DO NOTHING
> ERROR:  null value in column "user" violates not-null constraint
  DETAIL:  Failing row contains (0b159b81-6842-4ae7-961c-2e9cff8488b1, null, null, null, null, null, null, null, null, null, F).

理想情况下,这个特定的插入将被忽略而不是引发错误。


As 文档 says:

可选的ON CONFLICT条款规定了提出问题的替代行动独特的违规行为 or 违反排除约束 error.

NOT NULL既不是唯一约束也不是排除约束。从技术上讲,它甚至不是 PostgreSQL 中的适当约束。

你需要的是一个BEFORE INSERT返回的触发器NULL if the NEW行包含有问题的空值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

冲突时,在具有非空约束的 Postgres 中不执行任何操作 的相关文章

  • 新分配的序列不起作用

    在 PostgreSQL 中 我创建了一个新表并为其分配了一个新序列id柱子 如果我从 PostgreSQL 控制台插入记录 它可以工作 但是当我尝试从 Rails 导入记录时 它会引发异常 无法找到关联的序列 这是表格 d user me
  • SQL 用随机数据填充表

    我有一个包含两个字段的表 id UUID 是主键并且 描述 var255 我想用SQL语句插入随机数据 我希望这个描述是随机的 PS 我正在使用 PostgreSQL 我不确定这是否符合 随机描述 的要求 也不清楚您是否想要生成完整的数据
  • PostgreSQL不使用PostGIS计算两点之间的距离

    当纬度和经度位于表格中的两个单独列中时 如何计算两点之间的距离 我无法使用 PostGIS 因为我使用 heroku Postgres 免费版本 你可以使用这样的东西 select SQRT POW 69 1 latitude float
  • Ruby on Rails:如何使用 JSONPath 访问(并保存到数据库)JSON 数组中的嵌套对象/属性?

    我正在尝试将 JSON 对象数组中的数据播种到我的数据库中 我有两个单独的数据库表 属性和单位 一个属性有许多单位 我已经能够通过 API 请求 JSON 数据 然后将其播种到数据库 成功地对属性信息 属性模型 执行此操作 但是 Valua
  • 我截断了一个表。我如何取回数据?

    在我的 postgresql 数据库中 不幸的是我截断了表mail group 并且该表已从数据库中删除 如何找回该表 请帮助我 等待回复 Thanks 其他有同样情况的人 立即地停止你的数据库pg ctl stop m immediate
  • 使用 Rails 4(和 Hstore)在 PostgreSQL 中存储嵌套哈希

    我有一个 Rails 应用程序 它聚合了来自 Google API 的大量数据 我当前将 JSON 响应存储在 MongoDB 中 因此我的 Rails 应用程序同时具有 pg 和 mongo 然而 今天 我遇到了 PostgreSQL H
  • PostgreSQL 8.3 中不为空且唯一约束的增量字段

    我有一个表 项目 其中有一列 位置 位置具有唯一且非空的约束 为了在位置 x 插入新行 我首先尝试增加后续项目的位置 UPDATE items SET position position 1 WHERE position gt x 这会导致
  • 无法使用wix工具集创建postgresql数据库

    我正在尝试使用 Wix ToolSet 在 PostgreSQL 中创建数据库 但总是收到错误 错误 2147467259 无法创建 SQL 数据库 pontow 错误详细信息 未知错误 当我尝试创建数据库或错误 无法连接到 SQL 数据库
  • 如果存在具有唯一值的行,则更新,否则插入

    我有一个 URL 表 他们包含 id int 主键 url 字符不同 唯一 内容特征各不相同 最后分析日期 我想创建触发器或其他东西 规则可能是 因此每次我从 java 程序中进行插入时 如果存在具有此类 URL 的行 它就会更新一些单行
  • 如何使 Postgres Copy 忽略大 txt 文件的第一行

    我有一个相当大的 txt 文件 9gb 我想将此 txt 文件加载到 postgres 中 第一行是标题 后面是所有数据 如果我直接 postgres COPY 数据 标头将导致数据类型与我的 postgres 表不匹配的错误 因此我需要以
  • 限制相同的数据条目

    我是 SQL 新手 我有两张桌子 一张放冰箱 一张放食物 一台冰箱只能存放 5 种食物 所以我想知道是否有办法限制食物表中只有 5 个相同的冰箱 ID 条目 没有直接的方法来强制执行这样的约束 我能想到的最好的是 有一个 冗余 列food
  • PostgreSQL 连接使用generate_series 对表进行非规范化

    我有这张表 CREATE TABLE mytable name text count integer INSERT INTO mytable VALUES john 4 mark 2 albert 3 我想以这种方式 去规范化 行 SELE
  • (一张表)插入行

    这个问题是继续this one https stackoverflow com questions 56246041 one table get rows not in without union 我有下表egr offid groupid
  • 无法恢复 pg_dump 备份

    我正在尝试从 Postgres 9 1 1 恢复备份 该备份的创建者是 pg dump mydb gt backup sql 在 Postgres 9 1 9 上恢复 psql d mydb f backup sql 我收到此错误 psql
  • 在 Linux 中,Distinct SQL 无法与 UNNEST 一起使用

    当我在窗口系统中运行此查询时 行为正确 UNNEST 但是当我运行这个查询时 Linux 的行为不同 unnest 重复记录列表在不同的行上 SELECT DISTINCT billing billmanagement creation d
  • 让 django 不插入某些字段

    我有一个针对 postgresql 数据库表的 Django 模型 我希望 Django 在对象创建期间不要插入 field 3 作为 DB 应该填写的时间戳字段 class AbcModel model id models AutoFie
  • Postgres 创建一个带有外键数组的表

    我正在制作一个名为 routes 的表 我希望它能够包含航班列表 航班详情请参阅航班表 我希望 航班 是航班表中的外键 ID 数组 所以 我有这个代码 CREATE TABLE routes id SERIAL PRIMARY KEY fl
  • 如何在 JSON Postgres 数据类型列中搜索特定字符串?

    我有一个名为params在名为的表中reports其中包含 JSON 我需要找到 JSON 数组中任何位置包含文本 authVar 的行 我不知道文本可能出现的路径或级别 我只想使用标准的 like 运算符搜索 JSON 就像是 SELEC
  • 如何在 SQLAlchemy 中连接两个表中的数据?

    我有3张桌子 Account User and Organization Account由组成id name and organization id User由组成email and organization id Organization
  • 如何使用diesel-rs选择色谱柱的子集?

    我现在花了几个小时的时间来查询表的可用列的子集以及在其中包含计算 我知道这不是在选择查询中执行计算的最佳方式 但现在 我只是在开发一个原型 它应该是可行的 我在用diesel rs作为后端实现中所有数据库操作的 ORM 数据将存储在 Pos

随机推荐

  • 使用“A Simple Delphi Wrapper for SQLite3”插入日期

    我正在使用 delphi 2010 和 Tim Anderson 的 SQLite3 包装器 http www itwriting com blog page id 659 但我在插入日期时遇到问题 这是我的数据库创建 DB ExecSql
  • 如何在 html 按钮上单击调用 php 脚本/函数

    在有人对我进行攻击或对此进行标记之前 我已经在互联网上查找了如何执行此操作 包括 stackoverflow 上的相同问题 我是新人 我发现学习新概念非常困难 所以请对我宽容一点 我想做的是在单击按钮时调用 php 脚本 函数 如果有帮助的
  • GCC -fobjc-direct-dispatch 选项到底有什么作用?

    海湾合作委员会手册说 fobjc direct dispatch 允许快速跳转到消息调度程序 在 达尔文这是通过通讯页面完成的 我可以假设这个标志消除了动态调度吗 它是如何工作的 我相信如果直接链接它应该和 C 函数调用一样快 不 动态调度
  • 如何将大型 F# 记录数组保存到文件中?

    我想将一个大型 f 记录数组 gt 10 000 000 个元素 保存到磁盘 以便以后可以轻松地将数组重新加载到内存中 我使用 Visual F 2010 中的以下简单函数进行技术计算 let save filename x use str
  • 如何使用 jquery mobile 制作可拖动的 li 元素?

    我是网络移动新手 当我想在我们中制作可拖动项目时 我只使用jquery ui 在移动Web应用程序中如何做到这一点 我正在使用jquerymobile 我们应该在网络移动中使用 jquery ui 还是存在其他好方法 Thanks jQue
  • 如何查看MySQL内部innodb临时表的大小

    我看到大量内部临时磁盘表正在被写入 我可以看到计数SHOW GLOBAL STATUS where Variable name like Created tmp disk tables 我知道我可以更新max heap table size
  • Android自定义键盘:空格键的触摸区域未完全覆盖

    我开发了一款 Android 定制键盘 它看起来几乎就像原来的键盘一样 它还具有用于在字母 数字和 Shift 之间切换的特殊键 除了 SPACE 键 底部的大条 之外 所有键似乎都可以正常工作 我可以按中间的空格键但左右区域 大约空格键宽
  • Soap xml 响应使用 xsd 文件进行验证

    using https www freeformatter com xml validator xsd html 如果我在响应和模式中完全将soapenf从混合中取出 它可以正常工作 但我想两者兼而有之 仅供参考 我想指出此 wsdl 和
  • C# Windows 应用程序访问数据库数据在关闭时不会保留

    我正在使用 C 创建一个 Windows 应用程序 通过该应用程序访问一个空的 Access 数据库 其中包含两个表 省份和位置 我正在处理仅处理 Provinces 表的表单 如下所示 这是一个子表单 当它打开时 我可以插入 更新记录等
  • 在 C# 中使用 file.move 重命名新文件

    我对编码非常陌生 我正在编写一个将重命名文件的应用程序 通过将毫秒附加到已从 MFD 扫描的文件的现有文件名中 该文件夹是共享文件夹 重命名的文件应保留在其中 而不是复制到其他地方 通过大量搜索 我知道 File Move 是我前进的方向
  • 如何在不同主机之间移动 Docker 容器?

    我找不到将运行 docker 的容器从一台主机移动到另一台主机的方法 有什么方法可以将我的容器推送到存储库 就像我们对图像所做的那样 目前 我没有使用数据卷来存储与容器内运行的应用程序关联的数据 因此 一些数据驻留在容器内 我想在重新设计设
  • 解释“if”函数中的“条件长度> 1”警告

    我有一个数组 a lt c 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0
  • Android:覆盖 Android 相机预览

    我正在使用相机 API 并调用相机 我想在相机预览的顶部显示标题 用于品牌 标题是 jpeg 图像 是否可以 任何帮助表示赞赏 提前致谢 我的代码如下 public class CameraActivity extends Activity
  • git format-patch < 自上次 svn rebase 以来的所有内容 >

    我正在尝试将自上次推送到 svn 服务器以来的所有更改合并为一个大补丁 我可以通过电子邮件发送给我的同事进行审查 我可以这样做吗git format patch 你可以使用git format patch origin master获取自当
  • 闭源程序集“无法验证的代码未通过策略检查”

    我试图在 MSI 安装例程期间从 C 程序中的资源流动态加载一些 购买的 程序集 但我收到 无法验证的代码未通过策略检查 我在线阅读了一些有关使用 clr safe 编译嵌入式程序集的提示 但我没有该选项 有没有办法绕过这个政策检查 Tha
  • Vue.js Router:组件准备就绪时运行代码

    我正在使用 Vue js 及其官方路由器开发一个单页应用程序 我使用路由器加载的每个部分都有一个菜单和一个组件 vue 文件 在每个组件中我都有一些与此类似的代码
  • React Native 和 iOS 模拟器的地理位置错误

    我正在使用react native maps 并使用react native api 进行地理定位 当我通过 API 使用位置时 模拟器上返回的结果显示我在旧金山 而不是我所在的科罗拉多州丹佛市 是否有原因导致我的位置无法显示我所在的位置
  • 使用纯js获取具有特定类的单击元素的下一个元素

    我试图通过以下方式获取具有特定类的第一个元素 该类遵循使用纯 JS 无 JQuery 单击的元素 但 get el nextSibling 不是函数错误 最初我使用的是 JQueryparents next 但想用纯 JS 来做到这一点 c
  • JavaScript 凸面形状上的墙壁碰撞,卡在角落

    这是另一个问题的后续 如何处理玩家与墙角的碰撞 在给出的代码的启发下它的答案 我尝试编写一些新代码 基本上 在原版中 墙壁滑动在墙壁内部效果很好 但我想让它在外部也起作用 所以我根据他的技术制作了一个新的基本代码引擎 var aD var
  • 冲突时,在具有非空约束的 Postgres 中不执行任何操作

    是否不可能利用 ON CONFLICT DO NOTHING 来避免插入和违反非空约束 例如 INSERT INTO public users user user yob sex SELECT mom mom yob F FROM stag