现象 :
只想查出id 为15 的数据,但是出来好多其他的数据。里面都包含15 ,后来经过检查发现表里数据列的类型为varchar 指定成字符串就不会查询其他的数据了。
于是查了一下资料 mysql 字符串与数值类型比较 :
SELECT "abc"=1;
-- 结果:0
SELECT "1abc"=1;
-- 结果:1
SELECT "abc"=0;
-- 结果:1
SELECT "a2bc"=2;
-- 结果:0
SELECT "02a2bc"=2;
-- 结果:1
这里看到的结果就是 :mysql在处理字符串与整数数据对比时,会依次将字符串与整数数据对比,直到字符串不为整数的字母为止