2017-08-25 30 views
0

我在我的MySQL數據庫中有一個包含JSON字符串的longtext字段。我希望能夠只更新字符串中的一行,而不必重新插入更新的整個事物。更新存儲在MySQL中的JSON中的一行

我該怎麼做?我正在使用Laravel,但如果需要可以執行原始查詢。

(這是我第一次使用JSON,所以如果我不使用正確的terminolgoy,見諒。)

+0

一些示例數據,你想要得到的結果,將是非常有用的。也許['JSON_REPLACE'](https://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html#function_json-replace)函數可以做你需要的。 – wchiquito

回答

0

你列必須json類型。那麼你可以使用JSON_SET在你的有效負載中設置一個特定的json密鑰。

例如:

update table SET json_column = JSON_SET( json_column , '$.\"$key\"' , 'foo') where id = 1;