错误:没有唯一或排除约束匹配ON CONFLICT规范SQL状态:42P10
查询:
INSERT INTO public.error_message(
id, created_by, created_dt, modified_by, modified_dt, attempt, message_headers,
message_main_topic, message_payload, message_status, message_status_code)
VALUES (51, null, null, null, null, 1, '{
"jsonContent": {
"content-length": "1635",
"message_status_code": "417",
"cookie": "JSESSIONID=279AF4C174E6192BDAB11A067768BBD5",
"postman-token": "f0f33e86-498f-452a-aaf6-18eb84dc5907",
"kafka_timestampType": "CREATE_TIME",
"message_id": "21",
"kafka_receivedMessageKey": "null",
"kafka_receivedTopic": "error-topic",
"accept": "*/*",
"kafka_offset": "33",
"kafka_consumer": "org.apache.kafka.clients.consumer.KafkaConsumer@5091bb5f",
"host": "localhost:8082",
"content-type": "application/json",
"connection": "keep-alive",
"cache-control": "no-cache",
"kafka_receivedPartitionId": "0",
"kafka_receivedTimestamp": "1552305428711",
"accept-encoding": "gzip, deflate",
"message_main_topic": "ldarsQCustomStatistics.1",
"user-agent": "PostmanRuntime/7.6.1"
}
}', 'ldarsQCustomStatistics.1', '{
"jsonContent": {
"messageTime": 16772223422,
"messageRev": 9,
"businessId": "DB",
"messageId": "55"
}
}', 1, 201)
ON CONFLICT ((message_payload->'jsonContent'->>'message_id'))
DO UPDATE SET attempt = error_message.attempt + 1, message_headers = EXCLUDED.message_headers,
message_status_code = EXCLUDED.message_status_code, message_status = EXCLUDED.message_status,
created_by = EXCLUDED.created_by, created_dt = EXCLUDED.created_dt,
modified_by = EXCLUDED.modified_by, modified_dt = EXCLUDED.modified_dt,
message_main_topic = EXCLUDED.message_main_topic, message_payload = EXCLUDED.message_payload,
id = DEFAULT
您很可能在这个特定字段上缺少一个唯一的约束。
例:
CREATE UNIQUE INDEX j_msgid_idx ON public.error_message((data->'jsonContent'->>'message_id'));
我试图对一个名为feature_to_model的表执行upsert。但是,我得到了以下错误: 以下是我的桌子规格: 我使用Gorm来查询数据库,这是我的函数调用: 我错过了什么?我不能对任何索引(training_job_id、feature_name、feature_set_name索引)使用唯一约束,因为它们都不是唯一的
当执行以下类型的插入时,我得到以下错误: 查询: 错误: SQL执行失败(原因:错误:没有与冲突规范匹配的唯一或排除约束) 我也有一个独特的索引: 问题是它有时有效,但不是每次都有效。我随机得到这个例外,这真的很奇怪。它似乎无法访问该索引,或者不知道它存在。 有什么建议吗? 我使用的是PostgreSQL 9.5.5。 执行试图查找或创建帐户的代码时的示例: 在这种情况下,我确信该帐户不存在。此外
我有两个表在postgres和。 用于创建表的Sql文件如下:https://nofile.io/f/Ef94rMFRh6C/file.sql 我想在每天结束时更新,条件如下: 如果已经不存在,那么从的记录需要插入到 如果存在,那么。 我使用下面的查询来更新歌曲摘要: 我得到以下错误: 错误:不存在与冲突规范匹配的唯一或排除约束
我的桌子有两个独特的列: 我想编写保存或更新方法 我的jooq代码: 但我遇到了异常: “错误:没有唯一或排除约束匹配ON CONFLICT规范” 请帮助。
这是图式 我会尝试调用命令: 这给了我一个错误:没有唯一或排除约束匹配ON CONFLICT规范 如果我仅将post_id作为约束或仅将链接作为约束(即关于冲突(post_id)或关于冲突(link))而不是两者都包括,则查询可以工作。我想不出这是什么原因。有人知道为什么吗?
我有一个如下表(字段已编辑为相关部分): 如您所见,我有以下对我的应用程序非常重要的索引。 我想做的是,当我遇到重复错误时,将插入到另一个表中。然而,当我执行sql语句时,我无法克服这个小障碍(如下)。 然而,当我尝试运行这个时,我得到了以下结果: 我读过一些关于这个话题的堆栈溢出问题,但我似乎无法根据需要调整答案。这里的链接是我能找到的最接近的链接 Postgers:当使用主键和唯一列时,没有唯