Postgresql COPY TO STDIN With CSV 如何处理冲突更新?

2023-12-21

我想要做

 " on conflict (time) do update set name , description "

但我不知道当我将 stdin 与 csv 一起使用时,我不知道什么名称等于什么?和描述等于什么...

table_a:

xxx.csv:

with open('xxx/xxx.csv', 'r', encoding='utf8') as f:
    sql = """
    COPY table_a FROM STDIN With CSV on conflict (time) 
    do update set name=??, description=??;
    """
    cur.copy_expert(sql, f)
    conn.commit()

In 这个帖子 https://stackoverflow.com/questions/13947327/to-ignore-duplicate-keys-during-copy-from-in-postgresql,有两个答案 - 组合在一起 - 为成功使用提供了一个很好的解决方案ON CONFLICT。下面的示例使用ON CONFLICT DO NOTHING;:

BEGIN;
CREATE TEMP TABLE tmp_table 
(LIKE main_table INCLUDING DEFAULTS)
ON COMMIT DROP;
    
COPY tmp_table FROM 'full/file/name/here';
    
INSERT INTO main_table
SELECT *
FROM tmp_table
ON CONFLICT DO NOTHING;
COMMIT;

将 main_table 的两个实例替换为您的表的名称。

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

Postgresql COPY TO STDIN With CSV 如何处理冲突更新? 的相关文章

随机推荐

  • 有没有办法让 Eclipse 不断刷新您的包资源管理器文件?

    我知道我可以随时单击 package explorer 视图的根节点并按 F5 强制 Eclipse 刷新其内容 我正在寻找的是一种自动化的方法来做到这一点 我正在使用一些代码生成器 每次生成代码时都必须选择根节点并按 F5 键 这很无聊
  • SFML 瓦片地图碰撞

    I m making a 2D game in SFML and I m trying to figure out how to collide with tiles in a tilemap I ve written some code
  • 如何使用 HttpClient 从 Web Api 调用 PUT 方法?

    我想调用 Api 函数 1st 从第二个 Api 函数使用Http客户端 但我总是得到404 Error 第一个 API 函数 端点 http localhost xxxxx api Test public HttpResponseMess
  • 结构或类

    我正在开发 iPhone 3 1 3 应用程序 我有一堂课 叫做Object2D 带有字段和方法 代表一个形状 Object2D有一个表示其大小的字段 另一个表示其类型的字段 现在 我需要另一个名为Pattern 这是一组形状 在Patte
  • 当使用 *ngFor 渲染子项时,@ViewChildren Querylist 数组为空

    import Component OnInit ViewChildren from angular core import ChildComponent from child child component Component select
  • 查看从编译表达式生成的 IL 代码

    是否可以查看在表达式树上调用 Compile 时生成的 IL 代码 考虑这个非常简单的例子 class Program public int Value get set static void Main string args var pa
  • Camera2全屏预览和图像捕捉

    我正在使用示例代码 https github com googlesamples android Camera2Basic对于Camera2 我想知道如何才能全屏预览和捕获图像 This https stackoverflow com qu
  • Vue.js - element-ui el-table v-for 丢失了最后一项

    我想通过标题列表生成分组表头 但 v for 循环丢失了最后一项 html模板代码 div div
  • 使用 TypeScript 导入节点模块

    我正在努力让它发挥作用 但我似乎无法在任何地方找到解决方案 当尝试编译这个单文件应用程序时 import http require http http createServer function req res res writeHead
  • Laravel 或者哪里

    目前我正在 Laravel 中开发一个项目 但我陷入了困境 我想创建一个像这样的 SQL 语句 SELECT FROM SPITems WHERE publisher id AND feed id AND title LIKE OR des
  • PHP尝试获取非对象nodeValue的属性

    我正在尝试扫描所有 URL 即来自http 0 0 0 1 http 0 0 0 1 to http 255 255 255 255 http 255 255 255 255 并获取所有标题和描述 并将它们存储在数据库中 我知道这是错误的方
  • char '0x8' 这是什么字符?

    我的数据库中有大量数据 当我尝试读取数据的某个部分并生成一些 xml 并将其发送到 Web 服务时 出现以下异常 java lang IllegalArgumentException 中的字符 0x8 我猜这是一些坏数据 因为它已经完美运行
  • 如何使用 Perl 的 DBD::Pg 插入空字段?

    我有一个 Perl 脚本 根据管道分隔的文本文件将数据插入 Postgres 中 有时 字段为空 如预期 然而 Perl 将此字段设置为空字符串 并且 Postgres 插入语句失败 这是一段代码 use DBI Connect to th
  • 从不同节点访问分布式 mnesia 数据库

    我有一个包含不同表的 mnesia 数据库 我希望能够从不同的 Linux 终端访问这些表 我有一个函数叫做add record 它需要一些参数 比如name and id 我希望能够打电话add record on node1 and a
  • 如何更改括号中 PHP 标签的颜色

    我正在为 Brackets 开发一个自定义主题 http brackets io http brackets io 我想知道是否有一种方法可以专门更改 php 标签的颜色 下面星号之间的部分是红色的 我一直在查看几个主题 less 文件 但
  • Unity - 如何在可为 null int 的构造函数参数中传递 null

    我有一个以 nullable int 作为参数的类 public class Test public Test int p 如何使用 unity 解决它 传递 null 作为参数 myContainer RegisterType
  • 在 C++11 中显式删除成员函数后,是否仍然值得从不可复制的基类继承?

    在 C 11 中显式删除成员函数后 是否仍然值得从不可复制的基类继承 我说的是你私下继承一个基类的技巧 该基类具有私有或删除的复制构造函数和复制赋值 例如boost noncopyable http www boost org doc li
  • 重新平衡 Apache Storm 中的执行器

    我正在尝试重新平衡正在运行的 Apache Storm 0 9 5 拓扑中的 Bolt 的执行器数量 当我对 Nimbus 节点执行命令时 storm rebalance MyTopology n 2 e GreenBolt 4它接受命令行
  • SVG 描边和填充之间的空间

    用相同的颜色和颜色填充并描画一个圆圈stroke width超过一定尺寸 会在两个绘画区域 之间 产生一个奇怪的透明区域 到底是怎么回事 Chrome 和 Firefox 中都会发生这种情况 因此可能符合规范 但我在规范中找不到有关此行为的
  • Postgresql COPY TO STDIN With CSV 如何处理冲突更新?

    我想要做 on conflict time do update set name description 但我不知道当我将 stdin 与 csv 一起使用时 我不知道什么名称等于什么 和描述等于什么 table a xxx csv wit