-
问题复现:
建表CREATE TABLE `test_json` ( `id` int(11) NOT NULL AUTO_INCREMENT, `json` json DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1;
添加json数据
{ "a": "aaaaa", "bbbb": "bb", "ccc": "ccc" }
查询更新后数据顺序发生变化
UPDATE test_json SET json ='{"a": "aaaaa","bbbb":"bb","ccc":"ccc"}' WHERE ID = 1; SELECT json from test_json WHERE ID = 1
-
问题解决
资料:
https://stackoverflow.com/questions/48382457/mysql-json-column-change-array-order-after-saving
结论:老老实实用text结构的类型吧,mysql在存储json时按照key的字段长度做了排序,以便获得更好的存储性能,目前不支持顺序json,所以还是自己第三方工具序列化下吧
mysql本身是关系型数据库,对文档类型的数据还是用nosql吧比如MongoDB
Mysql表字段json格式顺序问题
最新推荐文章于 2024-10-08 22:19:43 发布