【发布时间】:2014-04-16 22:31:47
【问题描述】:
我正在尝试将数据从一个表复制到另一个在 Postgresql 中具有相同架构的表。表上有主键约束,因此由于重复键问题而运行失败:
INSERT INTO "A" SELECT * From "Temp";
SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key value violates unique constraint "A_Id_pkey"
在 MySQL 中,我可以通过调用每个模式列并将主键替换为 NULL 来解决此问题。
INSERT INTO "A" SELECT NULL, "Temp"."Column2", "Temp"."Column3"... FROM "Temp";
然而,这在 Postgresql 中失败了,尽管我的主键的 DEFAULT 设置为 nextval('a_id_seq'::regclass):
SQLSTATE[23502]: Not null violation: 7 ERROR: null value in column "Id" violates not-null constraint
Postgresql 中是否有任何语法允许我为即将到来的 INSERT 语句选择“DEFAULT”占位符?
【问题讨论】:
标签: sql postgresql