postgresql - Postgresql:错误:“DO”处或附近的语法错误
问题描述
我正在使用以下查询对 posstgres db 执行 upsert 操作。但我收到错误“在或附近出现语法错误”。我想这与行ON CONFLICT ((message_payload-->'jsonContent'->>'message_id'))
有关。我正在尝试根据 json 参数密钥 messageId 检查身份。有人可以通过提及我所拥有的缺失信息来帮助我。
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"
}
}', ‘abcd.1’, '{
"jsonContent": {
"messageTime": 16772223422,
"messageRev": 9,
"businessId": "DB",
"messageId": "55",
"deviceId": "DB_1234_SMM",
"assetType": "Locomotive",
"messageType": "thirdparty-timeseries",
"assetId": "DB_1234",
"appId": "ThirdPartyApp",
}
}', 1, 201)
ON CONFLICT ((message_payload-->'jsonContent'->>'message_id'))
DO UPDATE SET attempt=attempt+1
解决方案
推荐阅读
- sqlite - 设置带有 2 个实体错误的 android studio Room 数据库
- python - 我将用于扑克游戏但我得到两个奇怪的输出的python代码
- java - putParcelableArrayListExtra 有大小限制吗?
- java - 为什么我的@FunctionalInterface 使用两种方法没有编译错误?
- html - 缩小屏幕以检查响应能力后,按钮无法正确显示 - HTML/CSS
- postgresql - 在 postgresql sql shell 命令中在不同服务器之间切换
- python - How to return data tabel in code, for use in calculated in bokeh?
- python - 训练带有文字的图像的最佳方法是什么?
- c - 如果 Matrix RXC 中存在 C 程序查找 Sudoko 方 3x3 的问题
- python - 使用熊猫从python中的数字中拆分文本