【发布时间】:2016-01-18 00:06:00
【问题描述】:
我正在尝试做this solution 和here 中描述的事情。这意味着我想复制具有多列的行,同时只更改几个值。所以我的查询看起来像这样:
CREATE TEMPORARY TABLE temp_table AS
SELECT * FROM original_table WHERE <conditions>;
UPDATE temp_table
SET <auto_inc_field>=NULL,
<fieldx>=<valuex>,
<fieldy>=<valuey>;
INSERT INTO original_table SELECT * FROM temporary_table;
但是,<auto_inc_field>=NULL 部分不适用于我,分别是我的 PostgreSQL 9.4 数据库:
Exception: null value in column "auto_inc_field" violates not-null constraint
<auto_inc_field> 列定义为 BIGINT、SERIAL,并具有主键约束。
如果NULL 不起作用,我需要通过什么?有其他方法吗?
【问题讨论】:
-
<the aut_inc_field>的定义是什么?它需要接受null。 -
更新了问题。它有一个主要约束。有没有办法让这个工作?
标签: postgresql constraints auto-increment