微信小程序对于雪花算法生成的Long类型的Mysql主键存在bug
发布于 5 年前 作者 xiaming 10401 次浏览 来自 问答

我的数据库是mysql5.6,主键采用的是推特公司的雪花算法,生成长度为20位的Long类型主键,现在的问题是这个主键在控制层出去时查看还是正确的,到小程序里面倒数第二位的都变成0,导致我根据这个id时查找不到。例如:我数据库插入时插入的是951742074128957440,到小程序页面查看列表时这个id就变成了951742074128957400,我在查看详情时根据这个951742074128957400去数据库查询时肯定是查询不到的,这是小程序的bug吗,有人碰到过类似问题没?

2 回复

这个应该是js小数数值的精度问题。你应该在进入js代码前把它转成字符串。

建议在 API 中就将数据转为 string 类型传输

回到顶部