繁体   English   中英

SQL新手,如何将列值插入新列?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM