質問: MySQLデータベースにこれを含むparams列があります:`'{"usergroup" : "1", "language" : "ENG"}';` 。私は、標準的なPDOの更新を使用して、わずか1ステップでENG GER**のみ**言語値を変更することができますか? 明らかに、テーブルセルのコンテンツ全体を`SELECT``'{"usergroup" : "1", "language" : "ENG"}';``json_decode`でデコードし、`ENG`を`GER`して`UPDATE` 2番目のステップのテーブルセル。 他のデータに触れたり、データセット全体をデコード/エンコードしたりせずに`UPDATE`のみ`ENG`から`GER`できるショートカットを探しています。
回答: ### 答え : #### 解決: これには`JSON_REPLACE`関数を使用できます。 ``` UPDATE `MyTable` SET `json` = JSON_REPLACE(json, '$.language', 'GER') WHERE ...Copy code ``` その他のJSON操作関数の概要は次のとおりです: https ://dev.mysql.com/doc/refman/5.7/en/json-function-reference.html。