mysql 在查字符串字段中 条件参数传为数字0查到与实际数据不匹配问题
比如:
CREATE TABLE `e` (
`id` int(11) DEFAULT NULL,
`status` varchar(255) DEFAULT NULL,
`b` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
用数字查字符串会把字符串数据转化为数字开头,所有非数字开头字符串都是以0开头 故查到以下数据
用数字2查则匹配到2开头的字符串
用和数据类型相同的条件查则没有问题
总结:
mysql 中:用数据作为条件查询字符串会出现于查询结果不匹配的现象
用0会查到所有非数字开头的字符串
用其他数字查则会匹配到与之对应数字开头的字符串