首页 新闻 搜索 专区 学院

mysql 等值查询

0
悬赏园豆:50 [待解决问题]

那家伙真懒的主页 那家伙真懒 | 初学一级 | 园豆:106
提问于:2020-07-16 17:28
< >
分享
所有回答(5)
0

你的结果让人惊讶?难道不应该只返回1,就一行记录
用 GROUP BY 可以代替 distinct

56180825 | 园豆:1429 (小虾三级) | 2020-07-16 20:28
0

你这应该是只执行了第一行的sql。第二行的where没选中一起执行吧..

Ctrl` | 园豆:2595 (老鸟四级) | 2020-07-17 09:02

执行了。主要原因条件字段是字符串,我这里传入的1是数字,不知道是不是这个影响了。

支持(0) 反对(0) 那家伙真懒 | 园豆:106 (初学一级) | 2020-07-17 14:25

@那家伙真懒: 应该不是,如果使用工具是navicat的话。我试了是没问题的,如果你的工具不是。你把where package_size = '1' 加上个引号试试。因为根据返回结果来看,这个列不是int型

支持(0) 反对(0) Ctrl` | 园豆:2595 (老鸟四级) | 2020-07-17 14:28

@Ctrl`: 将1改成字符串是没有这个问题,我的navicat版本比较高,我最近用的是15

支持(0) 反对(0) 那家伙真懒 | 园豆:106 (初学一级) | 2020-07-17 14:30

@那家伙真懒: 嗯,那应该就是了。我的是11、mysql5.7,现在好多工具、类库都是版本越高,各种规范限制越严格

支持(0) 反对(0) Ctrl` | 园豆:2595 (老鸟四级) | 2020-07-17 14:43

@那家伙真懒: 可以关注下navicat官网,实时了解最新版本的新特性;不过。突然想起来,也有可能是mysql版本问题的限制,这就要你查一下看看到底是哪个影响的了

支持(0) 反对(0) Ctrl` | 园豆:2595 (老鸟四级) | 2020-07-17 14:47
2
那家伙真懒 | 园豆:106 (初学一级) | 2020-07-17 14:36
0

MySQL默认字符串和数字对比时,优先把字符串转换为数字,如果无法转换,则截取前缀数字,以1x218ml为例转换成数字是1因为前缀只有1是数字,23xm转换成23因为前缀两个字符是数字,abc转换成0因为前缀没有数字,依此类推。请查看MySQL官网隐式类型转换其中有这个的描述

一剑破万法 | 园豆:202 (菜鸟二级) | 2020-08-02 19:19
0

把1 加上双引号。以字符串去查询。

laushow | 园豆:162 (初学一级) | 2020-09-30 17:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册