upsert相关内容

SQLite 中的 UPSERT

我不想使用 REPLACE INTO 因为它基本上是一个 DELETE 和 INSERT 并且使用旧的数据很复杂列. INSERT OR IGNORE 有点麻烦,因为所有错误都被忽略了,所以这不是一个选项. 我读过 博客文章 使用以下内容: UPDATE Table1 SET (...) WHERE Column1='SomeValue'如果@@ROWCOUNT=0插入表 1 值 ( ..
发布时间:2021-08-23 19:32:20 数据库

SQLite“插入或替换"与“更新......在哪里"

我以前从未见过 SQL 中使用的语法 INSERT OR REPLACE INTO names (id, name) VALUES (1, "John"),我想知道为什么它比 更新名称 SET name = "John" WHERE id = 1.是否有充分的理由使用一个而不是另一个.此语法是否特定于 SQLite? 解决方案 如果该行不存在,UPDATE 不会做任何事情. 如果行不 ..
发布时间:2021-08-23 18:49:12 数据库

SQLite - UPSERT *not* INSERT 或 REPLACE

http://en.wikipedia.org/wiki/Upsert 在 SQL Server 上插入更新存储过程 在 SQLite 中是否有一些我没有想到的聪明方法来做到这一点? 如果记录存在,基本上我想更新四列中的三列,如果它不存在,我想用第四列的默认 (NUL) 值插入记录. ID 是一个主键,因此 UPSERT 永远只有一条记录. (我试图避免 SELECT ..
发布时间:2021-08-23 18:47:02 数据库

在 Sybase ASE 中更新插入(更新或插入)?

我正在编写一个应用程序来将数据从 Oracle 移动到 Sybase,并且需要执行更新/插入操作.在 Oracle 中,我会使用 MERGE INTO,但它似乎在 Sybase 中不可用(无论如何在 ASE 中都不可用).我知道这可以用多个语句来完成,但出于几个原因,我真的想把它变成一个语句. 有什么建议吗? 解决方案 ASE 15.7 具有此功能. 在此处查找文档:http: ..
发布时间:2021-07-14 20:07:34 其他开发

如何使用 SqlAlchemy 进行更新插入?

我有一条记录,如果它不存在,我希望存在于数据库中,如果它已经存在(主键存在),我希望将字段更新为当前状态.这通常称为 upsert. 以下不完整的代码片段演示了哪些可以工作,但它看起来过于笨重(尤其是在有更多列的情况下).什么是更好/最好的方法? Base = declarative_base()类模板(基础):__tablename__ = '模板'id = 列(整数,primary_k ..
发布时间:2021-06-25 20:40:10 Python

更新冲突 postgres 上的多列

如果记录存在,我必须编写一个查询来更新记录,否则插入它.我正在将此更新/插入到 postgres 数据库中.我查看了 upsert 示例,其中大多数使用最多两个字段进行更新.但是,我想更新多个列.示例: query="""INSERT INTO table (col1,col2,col3,col4,col5,col6,col7,col8,col9,..col20) VALUES(%s,%s,%s ..
发布时间:2021-06-24 18:38:16 其他开发

ON CONFLICT 子句,如何用 DO UPDATE 替换 DO NOTHING?

我的 INSERT 正在使用语法 INSERT INTO t SELECT * FROM fdw_t在冲突中什么都不做; 现在我需要通过添加 UPDATE 来更改它,但是保留所有相同的条件,该怎么做? 这是有效的,但它不是“所有相同的条件": INSERT INTO tSELECT * FROM fdw_tON CONFLICT (id) -- 为什么我需要添加这个特定而不是通用的条件 ..
发布时间:2021-06-18 20:59:58 其他开发

Sequelize upsert() 从不更新,只插入

所以我正在尝试使用 sequelize 的 model.upsert() 并且我收到的只是插入,无论我在查询中有什么变化. 我有一个包含一些字段的事务模型,使用默认生成的 id. 阅读 sequelize 的 upsert 文档,我注意到这一点: 如果找到与主键或唯一键上提供的值匹配的行,则将执行更新.请注意,唯一索引必须在您的 sequelize 模型中定义,而不仅仅是在表中. ..
发布时间:2021-06-18 20:59:40 前端开发

MERGE 语法用于对重复的 UPDATE 进行 UPSERT 或 INSERT

所以我来自 MySQL,我可以在那里做 在重复更新时插入: INSERT INTO table (a,b,c)值 (1,2,3)重复密钥更新 c=c+1; 但现在我正在使用 PostgreSQL 并且正在努力添加 UPSERT 功能,看起来 MERGE 可能适用于我想要的但想看看这是否是最佳语法.示例语法 1、我也看过这个,但不明白如何实施.我还没有尝试过这个,因为我认为 MERGE 用于将数 ..
发布时间:2021-06-18 20:56:09 其他开发

PostgreSQL 部分唯一索引和 upsert

我正在尝试对具有部分唯一索引的表进行更新插入 创建表测试(p 文本不为空,q 文字,r 文字,txt文本,唯一(p,q,r));在 test(p) 上创建唯一索引 test_p_idx,其中 q 为空,r 为空;在 test(p, q) 上创建唯一索引 test_pq_idx,其中 r 为 NULL;在 test(p, r) 上创建唯一索引 test_pr_idx,其中 q 为 NULL; 简 ..
发布时间:2021-06-18 20:49:41 其他开发

为什么我的 SQL Server UPSERT 代码有时不会阻塞?

我有一个表 ImportSourceMetadata,我用它来控制导入批处理.它包含一个 PK 列 SourceId 和一个数据列 LastCheckpoint.导入批处理读取给定 SourceId 的 LastCheckpoint,执行一些逻辑(在其他表上),然后更新该 LastCheckpoint>SourceId 或者如果它不存在则插入它. 进程的多个实例同时运行,通常使用分离的Sou ..
发布时间:2021-06-14 18:53:15 数据库

如何将 Pandas DataFrame 更新到 PostgreSQL 表?

我从网络资源中抓取了一些数据并将它们全部存储在一个 Pandas DataFrame 中.现在,为了利用 SQLAlchemy 提供的强大的数据库工具,我想将所述 DataFrame 转换为 Table() 对象,并最终将所有数据插入 PostgreSQL 表中.如果这是可行的,那么完成这项任务的可行方法是什么? 解决方案 如果您使用的是 PostgreSQL 9.5 或更高版本,您可以使 ..
发布时间:2021-06-13 20:02:14 Python

我们可以在 orientdb 中 UPSERT 一个 EDGE 吗?

是否有可能在 orientdb 中获取一个向上插入边的示例.如果它不存在,有没有办法检查边缘是否存在,如果存在,则只需更新边缘,否则创建新边缘.我使用的是 Orientdb 2.1.13 版本.谢谢 解决方案 通过 SQL 你可以使用基本的 UPDATE 命令 updatewritten_by SET out = #9:2, in = #16:43, prop="gianni" UPSE ..
发布时间:2021-06-13 18:58:21 其他开发

如何在hsqldb 2.3.4上使用ON DUPLICATE KEY

根据此处列出的hsqldb.org上的更新: http://hsqldb.org/web/features200.html 它现在在hsqldb 2.3.4中支持mysql语法ON DUPLICATE KEY,但是在尝试运行它时,我仍然收到sql错误.如果即时通讯读取正确,则可能需要设置某些标志.但是我找不到能使用此synatx的设置. 解决方案 指南 ..
发布时间:2021-05-14 19:26:39 其他开发