【发布时间】:2013-05-16 17:25:17
【问题描述】:
我有什么:
ALTER TABLE countryb
ADD gnppercap real
;
INSERT INTO countryb (gnppercap)
SELECT gnp/population
FROM countryb
;
我成功创建了“gnppercap”列,现在我想用变量填充每一行的值。新变量是 gnp 和 1/population 的乘积,变量 gnp 和 population 已经在我正在更改的表中,countryb。
这是错误:
ERROR: null value in column "code" violates not-null constraint
SQL state: 23502
Detail: Failing row contains (null, null, null, null, null, null, null, null, null, null, null, >null, null, null, null, 0.000263028).
我知道表 countryb 中有大量的非空变量,所以我认为这就是那些空值。我以为既然我指定了要插入值的列,那没关系...?
我迷路了。帮助表示赞赏!
【问题讨论】:
-
您添加了一列。它得到了它应该得到的任何默认值。现在您要更改现有行中的此值。
-
因此现在使用“更新”是有意义的。谢谢
标签: sql postgresql insert insert-select