1

我有一张有 20k 产品的桌子。在此表中,我有一个 JSON 列,其中包含有关该产品的多个信息。我必须根据老板的要求添加一个新列,其中包含模型名称(在 JSON 中)。我该怎么做?我的表 product 的 id = id of the product product_description = jSON 包含有关该产品的许多详细信息,现在我的老板希望在 jSON 之外提供一个新列 model_name

我通常做这个查询:

SELECT "productInfo"->'product_info'->>'model_name' AS model_name FROM inv.product WHERE id = 1

获取model_name

我想更新所有产品,因此模型名称现在位于新列模型名称中,但我不能这样做,因为我不熟悉大规模更新。

我想用文字做的是:

UPDATE inv.product SET model_name = ( QUERY TO SELECT THE VALUE OF THE model_name ) FOR EACH ROW
4

1 回答 1

2

尝试类似:

UPDATE inv.product
SET model_name = "productInfo"->'product_info'->>'model_name'
WHERE id = 1;

或者

UPDATE inv.product
SET model_name = "productInfo"->'product_info'->>'model_name';

如果要更新inv.product.

于 2013-09-25T18:41:43.933 回答