我有一张20k产品的桌子。在此表中,我有一个jSON列,其中包含有关该产品的若干信息。我必须根据我的老板的要求添加一个新列,其中包含模型名称(在jSON中)。 我该怎么做? 我的表产品有id =产品ID product_description = jSON,包含有关产品的许多详细信息 现在是我的老板希望在jSON之外可用的新列model_name
我经常做这个查询:
SELECT "productInfo"->'product_info'->>'model_name' AS model_name FROM inv.product WHERE id = 1
获取model_name
我想更新所有产品,因此model_name现在位于新列model_name中,但我不能这样做,因为我不熟悉批量更新。
我想用文字做的是:
UPDATE inv.product SET model_name = ( QUERY TO SELECT THE VALUE OF THE model_name ) FOR EACH ROW
答案 0 :(得分: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
。