我是postgresql和一般数据库的初学者。我有一个表,其中有一个列product_id。该列中的一些值为空。我需要将这些空值更改为另一个表中的值。
我想做这样的事情:
insert into a(product_id) (select product_id from b where product_name='foo') where product_id = null;
我知道这个语法不起作用,但我只是需要帮助弄清楚它。
我是postgresql和一般数据库的初学者。我有一个表,其中有一个列product_id。该列中的一些值为空。我需要将这些空值更改为另一个表中的值。
我想做这样的事情:
insert into a(product_id) (select product_id from b where product_name='foo') where product_id = null;
我知道这个语法不起作用,但我只是需要帮助弄清楚它。
2条答案
按热度按时间5vf7fwbs1#
假设您的表名为“a”,并且有一些空的product_id,但其他列包含数据。
因此,您需要UPDATE,而不是INSERT。您的查询如下所示:
请确保子查询(select ..from b)返回唯一值。
lf5gs5x22#
请尝试以下内容
括号后的where条件错误,即where product_id = null;