0

正如标题所述,我正在尝试从 R 内部更新 jsonb 字段。我有几个更改要应用。原始数据集由第三方应用程序创建,但需要针对多行进行更正。

以下语句作为数据库语句工作正常:

UPDATE histories set meta=jsonb_set(meta,'{product}','"55-AB"') WHERE id = 17983;

现在,我需要为几个不同的 id 更新“产品”字段。假设以下数据框为例:

df<-data.frame(product=c("55-AB","567-C","UTG-98"),
               id=c(17983,54388,20000))

通常我会sql_glueglue包中使用,但我用完了动态生成上述查询的引号。

sql_glue("UPDATE histories set meta=jsonb_set(meta,'{product}','"{`df$product`}"') WHERE id = {`df$id`};")

Error: unexpected '{' in "sql_glue("UPDATE histories set meta=jsonb_set(meta,'{pesticide}','"{"

我遇到了报价问题。知道如何解决这个问题吗?

4

0 回答 0