MySQL查询问题?求大神解救,急等

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,但你又用引号?到底想做什么?