【发布时间】:2021-07-07 16:44:07
【问题描述】:
我在 Postgres 中有两个表 foo 和 bar 具有相同的结构,除了 bar 是空的并且有一个名为 id 的主键,而 foo 已填充并有一个名为 @987654326 的列@ 具有唯一值(但它没有主键)。
当我尝试使用此命令将数据从 foo 复制到 bar 时:
INSERT INTO bar
SELECT id, timestamp, updated_at
FROM foo
我收到一个错误:
错误:重复键值违反唯一约束“bar_pkey”
详细信息:键 (id)=(1) 已存在。
当表 bar 完全为空时,如何可能出现此错误?在 postgres 中,将数据从没有主键的表复制到有主键的表的正确过程是什么?
【问题讨论】:
-
大概
foo有重复。如果你select id和select distinct id有不同的行数吗 -
不,
foo中没有重复项
标签: sql postgresql sql-insert primary-key