使用select和autoincrement插入postgres表

时间:2018-04-28 16:24:21

标签: postgresql

我想将数据从表T1移动到另一个表T2。 T1具有自动增量ID,这是使用Spring Data实现的JPA注释@Id @GeneratedValue(strategy = GenerationType.SEQUENCE)的结果。

insert into T1(id, dataColumn)
(select NULL, dataToCopy
from T2)

这不起作用,因为它报告了id字段上违反非null约束的错误。在这种情况下如何插入数据?

1 个答案:

答案 0 :(得分:0)

我无法以这种方式进行插入的原因是id列上没有设置自动增量。没有自动增量的原因是为id设置一个生成器导致需要创建一个额外的select语句来从数据库序列中获取下一个值。