u014469767
bb_love_dd
采纳率66.7%
2019-01-23 17:23 阅读 367

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对应的数据。这是为什么?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

5条回答 默认 最新

  • 已采纳
    Leonards_1998 四月红 2019-01-23 18:00

    我也试了一下,会有截断双精度的警告
    Truncated incorrect DOUBLE value : '5%3B--ABCD--+a'

    点赞 评论 复制链接分享
  • qq_36720114 德玛洗牙 2019-01-23 17:52

    因为你pdf_id 是int型,然而你给的是一个以数字开头的字符串,它就直接忽略了之后面的除数字以外的字符串

    点赞 1 评论 复制链接分享
  • chengmeng_123 浮梦天拓 2019-01-23 18:02

    %号是特殊字符应该需要转义

    点赞 评论 复制链接分享
  • qq_15212699 qq_15212699 2019-01-23 18:24

    有可能是只识别开头的数字吧

    点赞 评论 复制链接分享
  • jybbh jybbh 2019-01-24 16:18

    是int,但你又用引号?到底想做什么?

    点赞 评论 复制链接分享

相关推荐