在日常生活中我们涉及的查询很多带有in关键字的情景
比如:

SELECT*
FROMtable1
WHEREuid IN (SELECTidFROMtable2WHERE`name` LIKE '此条件查询不到结果')
AND                                                              is_delete = 0
ORDER BY id desc
SELECT*
FROMtable1
WHEREuid IN ()
AND                                                              is_delete = 0
ORDER BY id desc

看着两个sql,同样是两个都没有结果,在运行的时候,第二个报错了,对于我这种数据库很菜的人来说很奇怪的操作,贴吧问了大牛之后,才知道,其实,第一个sql相当于 in(null),而第二个 in(空集)

第一个sql我理解为类似于

SELECT*
FROMtable1
WHEREuid = null
AND                                                              is_delete = 0
ORDER BY id desc

虽然这样写数据库不报错,但要注意:mysql对于null的处理

第二个sql我理解为类似于

SELECT*
FROMtable1
WHEREuid =
AND                                                              is_delete = 0
ORDER BY id desc

上面写到null的注意事项,刚好带上一个常用的mybtis的foreach标签传入空集合的问题:mysql的 in值 为一个空list时踩的坑

引用了上诉两位大佬的文章,不胜感激,记录自己

mysql中in的问题相关推荐

  1. 浅谈MySQL中utf8和utf8mb4的区别

    一.什么是UTF8MB4? 我们在使用PhpMyAdmin管理面板时,可以在首页看到名为"Server connection collation"(服务器连接排序规则)的选项,用来 ...

  2. 把mysql 中的字符gb2312 改为gbk的方法

    第一步:查找mysql的字符: mysql> show variables like '%char%'; +--------------------------+---------------- ...

  3. mysql中change用法,mysql 中alter的用法以及一些步骤

    mysql 中alter的用法以及一些方法 在用到alter的时间,查到了这个文章,就copy下来了,详细进入下面链接: MySQL之alter语句用法总结 1:删除列 ALTER TABLE [表名 ...

  4. mysql中的宽字符注入_深入理解Mysql宽字符注入

    之前记录过一篇 写的不够详细 概念 宽字节是相对于ascII这样单字节而言的:像GB2312.GBK.GB18030.BIG5.Shift_JIS等这些都是常说的宽字节,实际上只有两字节 GBK是一种 ...

  5. asp.net mysql 创建变_[ASP.net教程]EF Core使用CodeFirst在MySql中创建新数据库以及已有的Mysql数据库如何使用DB First生成域模型...

    [ASP.net教程]EF Core使用CodeFirst在MySql中创建新数据库以及已有的Mysql数据库如何使用DB First生成域模型 0 2018-06-30 07:00:08 官方教程: ...

  6. mysql information schema_[MySql技术]MySQL中information_schema是什么

    大家在安装或使用MYSQL时,会发现除了自己安装的数据库以外,还有一个information_schema数据库. information_schema数据库是做什么用的呢,使用WordPress博客 ...

  7. mysql中正则表达式的用法_Mysql中正则表达式Regexp常见用法

    Mysql中Regexp常见用法 模糊匹配,包含特定字符串 # 查找content字段中包含"车友俱乐部"的记录 select * from club_content where ...

  8. mysql中关系怎么弄_mysql数据库关系操作

    ### mysql数据库 #### 知识要点: 1. 数据操作增.删.改 2. 外键约束要求 3. 一对多表关系 4. 一对一表关系 5. 多对多表关系 6. 外键约束的参照操作 ### 数据操作 # ...

  9. mongodb在mysql中怎么用,mongoDB数据库基本操作

    mongoDB中聚集集合(collection/coll)相当于mysql中的表 文档相当于mysql中的每一行数据 常用命令 1.获得帮助命令db.help() db.表名.help() db.表名 ...

  10. mysql中utf8_bin、utf8_general_ci、utf8_general_cs编码区别

    转载地址: https://www.cnblogs.com/exmyth/p/3616672.html 在mysql中存在着各种utf8编码格式,如下表: 1)utf8_bin 2)utf8_gene ...

最新文章

  1. 《七笔勾》--陕北风光
  2. Android中解析JSON形式的数据
  3. linux shell字符串及字符串长度获取方式
  4. 深入浅出WPF之Binding的使用(二)
  5. Example3_1
  6. CNN(Convolutional Neural Network) 的基础
  7. 预测:小程序入口预测汇总(8种可能)
  8. Fedora 8中完全开启compiz-fusion特效
  9. iis ftp服务器文件大小,iis ftp服务器文件大小
  10. springMvc 乱码问题
  11. 非科班程序员和科班程序员的差距到底在哪里?
  12. 微信小程序的剪贴板 +复制剪贴,在淘宝中打开就可以获取到商品
  13. 如何复制百度文库里面的文章
  14. 西门子plc选型分析
  15. nutch代码分析第一篇——综述
  16. SecureCRT 中文(附上1.解决SecureCRT乱码问题2.解决Hostname lookup failed: host not found问题)
  17. 电脑共享打印机拒绝访问要怎么办
  18. @Scheduled定时器,每月1号执行
  19. 几个炫酷且实用的CSS动画效果
  20. oracle10g 数据库导入dmp数据

热门文章

  1. mybatis oracle 多条件批量删除_面试官经常喜欢问的Mybatis经典面试题,值得好好收藏哦!...
  2. python标点符号全是英文吗_python 过滤中文、英文标点特殊符号
  3. maya python api_[转载]maya python api 学习笔记
  4. Java编程:马踏棋盘算法(骑士周游问题)
  5. win7(32位)U盘安装、卸载ubuntu(64位)双系统
  6. 7_22 day25 8min super调用父类方法
  7. docker镜像创建
  8. 交叉编译 -sh: ./xxx: not found 的问题
  9. 【js】querySelectorAll和getElemensByTagName的区别
  10. 会优化,你真的会优化吗?其实你可能真的缺少一份理解【数据库篇】