mysql 版本:5.7.20
SELECT
id,
facility_id,
pdf_id,
pg_class,
template_path
FROM
pdf_template
WHERE
facility_id = 1
AND pdf_id = '5%3B--ABCD--+a'
图中所示,pdf_id为int类型,在查询时给的值为“5%3B--ABCD--+a”,竟然查询出5对应的数据。这是为什么?
我也试了一下,会有截断双精度的警告
Truncated incorrect DOUBLE value : '5%3B--ABCD--+a'
因为你pdf_id 是int型,然而你给的是一个以数字开头的字符串,它就直接忽略了之后面的除数字以外的字符串
%号是特殊字符应该需要转义
有可能是只识别开头的数字吧
是int,但你又用引号?到底想做什么?