[英]New to sql, how to insert column values into new column?
我有的:
ALTER TABLE countryb
ADD gnppercap real
;
INSERT INTO countryb (gnppercap)
SELECT gnp/population
FROM countryb
;
我成功创建了“ gnppercap
”列,现在我想用该变量填充每一行中的值。 新变量是gnp和1 /人口的乘积,变量gnp和人口已经在我正在更改的表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表中有很多非null的var,所以我认为这就是这些null。 我以为,由于我指定了要向其中插入值的列,所以没关系...?
我迷路了。 帮助赞赏!
您要更新表,而不要插入新行。
update countryb set gnppercap = gnp/population
顺便说一句:您可能不想将计算的值存储在单独的列中。 如果更新gnp或人口会怎样? 您的gnppercap列将不正确。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.