MySql Bit字段查询的奇怪问题

今天一个小伙伴遇到一个奇怪的问题:数据库版本是mysql8,有两张表,都有一个名为valid的bit字段,其中一张表用valid='1'可以正常查到数据,另一张表查不到。

百思不得其解,万能的度娘也没有答案。

最后,反复对比两张表的DDL,发现不正常的那张表,在valid字段上居然建了索引!正常的表上没有索引。删除字段上的索引后,一切正常。

一点思考:有索引的时候,是通过索引的值与查询条件进行匹配的,验证mysql里bit字段索引值匹配的时候,隐式数据类型转换出了问题?

posted @ 2020-03-31 21:54  oliverreal  阅读(460)  评论(0编辑  收藏  举报