Mysql out从表1中选择json_merge(测试,{“foo”:{“klm”:2}})?仍然在下降efg?@JoachimIsaksson仍然在下降。保持它的唯一方法是显式地添加所有值,如从…@JoachimIsaksson中选择json_插入(test,$.

Mysql out从表1中选择json_merge(测试,{“foo”:{“klm”:2}})?仍然在下降efg?@JoachimIsaksson仍然在下降。保持它的唯一方法是显式地添加所有值,如从…@JoachimIsaksson中选择json_插入(test,$.,mysql,json,mysql-5.7,Mysql,Json,Mysql 5.7,out从表1中选择json_merge(测试,{“foo”:{“klm”:2}})?仍然在下降efg?@JoachimIsaksson仍然在下降。保持它的唯一方法是显式地添加所有值,如从…@JoachimIsaksson中选择json_插入(test,$.foo.efg',1,$.foo.klm',2)。所需的结果应该是{“foo”:{“efg”:1,“klm”:2},“bar”:{“abc”:0}。他们的文档主要用于修改数组,但我希望将所有内容都保留为一个对象。我使用您的json\u-inse



out
从表1中选择json_merge(测试,{“foo”:{“klm”:2}})?仍然在下降
efg
?@JoachimIsaksson仍然在下降。保持它的唯一方法是显式地添加所有值,如从…
@JoachimIsaksson中选择json_插入(test,$.foo.efg',1,$.foo.klm',2)。所需的结果应该是
{“foo”:{“efg”:1,“klm”:2},“bar”:{“abc”:0}
。他们的文档主要用于修改数组,但我希望将所有内容都保留为一个对象。我使用您的
json\u-insert
,(或者从表1中选择json\u-insert(test,$.foo.klm',2)获得确切的结果,其中name='Joe';
“efg”:1对我来说,
并没有消失。@JoachimIsaksson我不确定问题出在哪里。我发出了一些参数,就像在你的评论中一样,它仍然替换
“foo”
对象的所有内容。
选择json\u合并(测试,{“foo”:{“klm”:2}}如何从表1;
?仍在下降
efg
?@JoachimIsaksson仍在下降。保持它的唯一方法是显式添加所有值,如
选择json\u插入(测试,'$.foo.efg',1,'$.foo.klm',2)从…
当我逐字执行您示例中的对象时,它工作正常。因此,可能最初将对象错误地添加到行中?我直接在
insert into table1(test)值(“{”foo“:{”efg“:1}”,bar:{”abc“:0}”中添加了它)
。这就是问题所在吗?@denikov:更新的答案。感谢更新。我会在几个小时后尝试,希望能找到答案。谢谢帮助。仍然不知道出了什么问题,只有update语句做了它应该做的。当我逐字执行你的示例时,它工作正常。所以可能最初添加了我所需要的对象是否正确地插入到行中?我将其直接添加到
insert-into-table1(test)值(“{”foo“:{”efg“:1}”,bar“:{”abc“:0}}”)中
。这就是问题所在吗?@denikov:更新的答案。谢谢你的更新。我会在几个小时后尝试,希望能找到答案。谢谢你的帮助。我仍然不知道出了什么问题,只有更新语句做了它应该做的。
{"foo":{"efg":1}, "bar":{"abc":0}}
mysql> select json_insert(test, '$.foo', 10, '$.foo.klm', 2) from table1
       where name='Joe';
mysql> select json_array_append(test, '$.foo', '{"klm":2}') from table1 where
       name="Joe';
mysql> select json_insert(test, '$.foo', 10, '$.foo', 
       select json_merge(select json_extract(test, '$.foo') from table1 
       where name="Joe"), '{"klm":2}') from table1 where name="Joe";