如何将数据添加到表中的现有记录

时间:2019-05-15 13:59:00

标签: php mysql arrays json

我有一个类似

的表格
user_id | settings

以json格式存储的设置

{"user_lang":"en","shop_name":"PayBot"}

我需要将"user_id: 1"之类的数据添加到每个设置记录中。

结果它必须喜欢

{"user_lang":"en","shop_name":"PayBot","user_id: 1"}

根据我的理解,我给出了打开每个记录,编码为数组,推送到数组"user_id: 1"并保存的信息。

但是如何在php中做到这一点? :)

有人可以给我一个简短的例子吗?

谢谢!:)

1 个答案:

答案 0 :(得分:1)

您可以通过不同的方式进行操作。一种方法是使用JSON_SET

UPDATE your_table_name 
   set settings = JSON_SET(settings, "$.user_id", 1) 
WHERE user_id = 1; 

您可以删除条件并添加列名user_id代替静态值 1 ,以将设置列的所有行及其相应的user_id值应用于

参考号https://database.guide/json_set-insert-or-update-values-in-a-json-document-in-mysql/