mysql8 执行 update 后 多了小数点,求解

2018-11-23 14:18:17 +08:00
 echotpq

1: 数据库 mysql8 ; json 字段 info {"a":1,"b":2}

2:update mytable set info=json_set(info,'$."a"',info->'$."a"'+1) where id= 111;

3: 执行 update 后的 info {"a":2.0,"b":2}

竟然多了小数点,求教解决方法

1142 次点击
所在节点    问与答
2 条回复
msg7086
2018-11-23 16:45:28 +08:00
随便帮你查了一下。JSON 并没有整数与小数之分,所以 2 和 2.0 在 JSON 里是等价的。
SingeeKing
2018-11-23 17:11:30 +08:00
https://tools.ietf.org/html/rfc7159#section-6

number = [ minus ] int [ frac ] [ exp ]

并不区分整数和浮点数

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/510754

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX