【发布时间】:2022-01-23 02:15:39
【问题描述】:
我有一个带有 ON CONFLICT ON CONSTRAINT 的 sql 语句以允许更新插入。这似乎运行良好,只是我的错误日志中有一堆与此查询相关的错误。
我对错误日志感到困惑,因为我们预计会遇到这个约束,然后只进行更新 - 这里有什么问题或者这只是聊天记录?
RDS Postgres,版本 12.7。
2021-12-18 16:00:32 UTC:172.31.1.154(33952):{username}@{database}:[28367]:ERROR: duplicate key value violates unique constraint "segments_sequence_number_event_id"
2021-12-18 16:00:32 UTC:172.31.1.154(33952):{username}@{database}:[28367]:DETAIL: Key (sequence_number, event_id)=(2, d5c70xxxx63478) already exists.
2021-12-18 16:00:32 UTC:172.31.1.154(33952):{username}@{database}:[28367]:STATEMENT: INSERT INTO segments (id,created_at,updated_at,event_id,sequence_number,start_time,end_time,bitrate,width,height) VALUES ('8e6d5xxxxbdae3','2021-12-18T16:00:32.596Z','2021-12-18T16:00:32.596Z','d5c70xxxx63478',2,1639843218000,1639843221000,2097152,1920,1080) ON CONFLICT ON CONSTRAINT sequence_number_event_id_unique DO UPDATE SET updated_at='2021-12-18T16:00:32.596Z',start_time=1639843218000,end_time=1639843221000,bitrate=2097152,width=1920,height=1080 RETURNING id,sequence_number,url,start_time,end_time,duration,bitrate,width,height,size,event_id,created_at,updated_at
【问题讨论】:
-
请将有问题的 SQL 语句连同相关表/索引等的 DDL 语句一起发布。
-
@SebDieBln:有问题的语句隐藏在错误消息中。
标签: sql postgresql amazon-rds upsert