做项目时遇到一个奇怪的问题,关于mysql查询精度会有所丢失的。
比如数据库字段存储为varchar,888890014000600010001,查询的时候就一定要加上单引号。
如:‘888890014000600010001’作为过滤的条件,如果不加单引号,只是where id =888890014000600010001,那么就会查出来多条记录,如:888890014000600000001也会被查出来。
mysql把bigint类型转到varchar时,精度丢失了,因为888890014000600010001远远大于了bigint的极限。
记录下来这个问题,引以为戒。