MySQL,JSON,JSON_ARRAY_APPEND-为什么附加在5.7.13上不起作用?

Tam*_*mpa 2 mysql json

我到底如何将数据插入json mysql字段。

我可以创建一个记录

INSERT INTO git_object (user_id,git_meta,last_update) VALUES ('11111','[{"host": "a", "id": "1"}]',(select now()));
Run Code Online (Sandbox Code Playgroud)

我如何追加到数组。

SELECT JSON_ARRAY_APPEND(git_meta, '$', '{"host": "b"}') FROM git_object where user_id='11111'
Run Code Online (Sandbox Code Playgroud)

我尝试了上面。我从下面得到什么?

SELECT * FROM git_object;

'[{"id": "1", "host": "a"}]'
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么

MySQL版本'5.7.13'

小智 11

JSON_ARRAY_APPEND(git_meta, '$', JSON_OBJECT('host','b'))

代替 JSON_ARRAY_APPEND(git_meta, '$', '{"host": "b"}')


Sha*_*dow 5

要修改存储在任何表中的数据,您需要使用updatesql命令,而不是选择。

Update git_object
set  git_meta=JSON_ARRAY_APPEND(git_meta, '$', '{"host": "b"}')
where user_id='11111'
Run Code Online (Sandbox Code Playgroud)