相关疑难解决方法(0)

如何将 PostgreSQL 10 标识列添加到带有行的现有表中?

我有一个包含一些行的表,我尝试使用以下命令添加一个标识列:

ALTER TABLE sourceTable 
    ADD COLUMN ogc_fid int                
        GENERATED BY DEFAULT AS IDENTITY;
Run Code Online (Sandbox Code Playgroud)

建议使用上面的命令来回答这个问题:

但我得到:

错误:“ogc_fid”列包含空值
SQL 状态:23502

看起来表的现有行没有自动生成标识,但会导致此错误(如果表没有行,该命令可以正常工作)。有任何想法吗?我是否必须首先为我添加的列生成值DEFAULT nextval('some_sequence')?或者在 PostgreSQL 10 中有更好的方法吗?

postgresql alter-table identity postgresql-10

6
推荐指数
1
解决办法
1344
查看次数

标签 统计

alter-table ×1

identity ×1

postgresql ×1

postgresql-10 ×1