Как обновить определенный элемент в повторяющемся поле в BigQuery?
Например, я просто хочу обновить комментарии, соответствующие комментарию id = 1
, что такое синтаксис BigQuery SQL для него?
{
"id": 1,
"name": "Data A",
"comments": [
{
"timestamp": 1586333435,
"id": 1,
"comment": "Hello World"
},
{
"timestamp": 1586333635,
"id": 2,
"comment": "Hello World 2"
}
]
}
Мой оператор обновления использует следующее, но он заменяет весь массив.
UPDATE `projectA.dataSetA.Post`
SET comments = ARRAY(
SELECT AS STRUCT * REPLACE('Hello World Now' AS comment) FROM UNNEST(comments) AS c WHERE c.id=1)
WHERE id='1';