为了账号安全,请及时绑定邮箱和手机立即绑定

这句sql为什么会搜出下面两条记录?

这句sql为什么会搜出下面两条记录?

慕丝7291255 2019-03-30 18:15:37
查看完整描述

2 回答

?
Qyouu

TA贡献1786条经验 获得超11个赞

你的pid应该是char或者varchar型的,而你的查询条件中没有带引号,被认为是数字型,所以mysql给你做了隐式转换。
看这个例子。
数据库里有如下数据
https://img1.sycdn.imooc.com//5cc01cf80001f65b03020141.jpg

不带引号的时候,ddddddd隐式转换成数字变成0,1ddd转换成数字变成1,所以有如下结果

https://img1.sycdn.imooc.com//5cc01cfa0001527304020253.jpg

而加上引号以后,就不存在这种问题了

https://img1.sycdn.imooc.com//5cc01cfc0001f04404010156.jpg


评论里006的问题,006会被处理成6

https://img1.sycdn.imooc.com//5cc01cff0001210503340471.jpg


查看完整回答
反对 回复 2019-04-24
  • 2 回答
  • 0 关注
  • 610 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信