一下是一个SQL的小问题,困扰了3分钟,写下来记录一下。
数据库是MYSQL 5, 表的结构很简单, 就一个字段是abc,整型。
一下语句运行的结果是一样的。自己不留神,导致困扰了3分钟。
select * from table1 from abc = '123'
select * from table1 from abc = '123_1'
以上语句原来是查找是否数据存在,结果123_1和123,只要里面有123, 就是存在的。
其实原因很简单,就是mysql 把123_1转成整数在比较,它把123_1转成整数后就是123了。所以2个语句的返回结果是一样的。