upsert相关内容

基于空值唯一约束的UPSERT

我有一个Postgres表,该表对多个列具有唯一约束,其中一列可以为空。对于每种组合,我只想允许该列中有一条NULL记录。 create table my_table ( col1 int generated by default as identity primary key, col2 int not null, col3 real, col4 int, c ..
发布时间:2022-03-24 20:12:57 其他开发

在 MS-access 中更新插入

我需要为 MS-Access 2000 编写一个 SQL 查询,这样如果行存在则更新,如果不存在则插入.(我相信这被称为“upsert") 即 如果行存在... UPDATE Table1 SET (...) WHERE Column1='SomeValue' 如果它不存在... 插入表 1 值 (...) 这可以在一个查询中完成吗? 解决方案 您可以通过使用带有 LE ..
发布时间:2022-01-30 21:20:12 其他开发

如何解决 SQL0418N 错误

我正在使用下面的语句将一些数据更新/插入到表中,如果我在没有参数的情况下运行它,那很好.但是,一旦我尝试使用它抛出的参数执行它: SQL0418N - 语句包含使用无类型参数标记、DEFAULT 关键字或无效的空值. 我已阅读错误信息 here,但我仍在为为什么我的语句无法执行而苦苦挣扎. --此语句有效合并到 AB.Testing_Table A使用 (VALUES('TEST', ..
发布时间:2022-01-14 21:38:21 其他开发

pymongo 中的快速或批量更新

如何在 pymongo 中进行批量更新插入?我想更新一堆条目,一次做一个非常慢. 几乎相同问题的答案在这里:在 MongoDB 中批量更新/upsert? 接受的答案实际上并没有回答问题.它只是提供了 mongo CLI 的链接以进行导入/导出. 我也愿意解释为什么做批量 upsert 是不可能的/不是最佳实践,但请解释解决此类问题的首选解决方案是什么. 解决方案 现代版 ..
发布时间:2022-01-13 13:09:50 Python

插入多行时重复会发生什么?

我正在运行一个将大量数据插入 Postgres 数据库的 python 脚本,我使用单个查询来执行多行插入: INSERT INTO table (col1,col2) VALUES ('v1','v2'),('v3','v4') ...等 我想知道如果它碰到重复的插入键会发生什么.它会停止整个查询并抛出异常吗?或者它会仅仅忽略该特定行的插入并继续前进吗? 解决方案 INSERT 只会 ..
发布时间:2022-01-10 13:33:12 其他开发

更新在 Oracle 中插入重复的主键?

我有一个简单的 INSERT 查询,当主键重复时,我需要使用 UPDATE 代替.在 MySQL 中这似乎更容易,在 Oracle 中似乎我需要使用 MERGE. 我能找到的所有 MERGE 示例都有某种“源"和“目标"表,在我的例子中,源和目标是同一个表.我无法理解这些示例来创建自己的查询. MERGE 是唯一的方法还是有更好的解决方案? INSERT INTO movie_rat ..
发布时间:2022-01-09 12:42:41 数据库

如何使用 INSERT ... ON CONFLICT ... 更新所有列?

我有一个只有一个主键的表.当我尝试插入时,尝试使用现有键插入行可能会导致冲突.我想允许插入更新所有列?有什么简单的语法吗?我试图让它“更新"所有列. 我使用的是 PostgreSQL 9.5.5. 解决方案 UPDATE 语法 要求明确命名目标列.避免这种情况的可能原因: 您有很多列,只想缩短语法. 除了唯一的列之外,您知道列名. "All columns" 必须表示" ..
发布时间:2022-01-09 12:33:47 其他开发

如果不存在则插入其他更新?

我为经典的“如何插入新记录或更新已存在的记录"找到了一些“可能"的解决方案,但我无法让它们中的任何一个在 SQLite 中工作. 我有一个表定义如下: 创建表书ID 整数主键自动增量,名称 VARCHAR(60) 唯一,类型 ID 整数,级别整数,看到 INTEGER 我想要做的是添加一个具有唯一名称的记录.如果名称已经存在,我想修改字段. 谁能告诉我怎么做? 解决方案 看 ..
发布时间:2022-01-09 12:06:35 数据库

SQL Server 上的 INSERT OR UPDATE 解决方案

假设表结构为MyTable(KEY, datafield1, datafield2...). 我经常想更新现有记录,或者插入一条不存在的新记录. 基本上: IF(密钥存在)运行更新命令别的运行插入命令 写这个的最佳表现方式是什么? 解决方案 不要忘记事务.性能很好,但简单的(如果存在..)方法非常危险. 当多个线程将尝试执行插入或更新时,您可以轻松获取主键违规. @ ..
发布时间:2022-01-09 12:04:09 数据库

SOLR 可以执行 UPSERT 吗?

我一直在尝试在 solr 中执行相当于 UPSERT(插入或更新,如果已经存在)的操作.我只知道什么不起作用,我阅读的 solr/lucene 文档没有帮助.这是我尝试过的: curl 'localhost:8983/solr/update?commit=true' -H 'Content-type:application/json' -d '[{"id":"1","name":{"设置":"史 ..
发布时间:2021-12-30 08:43:52 其他开发

SQL Server 中单行 MERGE/upsert 的语法

我正在尝试对表进行单行插入/更新,但所有示例都是针对集合的. 谁能修复我的语法: MERGE member_topic ON mt_member = 0 AND mt_topic = 110匹配后更新 SET mt_notes = 'test'当不匹配时,插入 (mt_member, mt_topic, mt_notes) VALUES (0, 110, 'test') 每个 marc_ ..
发布时间:2021-12-27 21:51:44 数据库

MySQL“好"如果未找到则插入一行,如果找到则更新它

很多时候,我想对我的一个用户运行查询,我希望在其中存储一行并与该用户关联,以 1 对 1 的关系.所以让我们说(这只是一个随意的例子),我有一个表格来跟踪用户的汽车,以及一些关于汽车的信息.每个用户可以拥有 0 辆或 1 辆汽车.如果用户没有汽车,则表中没有该用户的条目. cars 表(同样,只是一个例子):id、user_id、car_make、car_model 所以,当我更新这个 ..
发布时间:2021-12-26 21:11:41 数据库