mysql下 select where id in () 的姿势

不是第一次看到这个问题了, 在pg下有 where id = any(array) 的用法, 避开了 in (array),  array长度为0时的语法错误, mysql长久以来没有优雅的写法.

mysql下不少人这么干, 给人一种恶心心的感觉

image.png

分享另一种写法

image.png


评论区

zhangtianxiao

2020-03-23 10:34

@Code_Cat https://jfinal.com/feedback/7136

JFinal

2020-03-23 11:11

这种用法在较低版本中能否使用?

zhangtianxiao

2020-03-23 11:26

@JFinal The FIND_IN_SET function can be used in the following versions of MySQL:

MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23,

JFinal

2020-03-23 11:30

@zhangtianxiao 挺爽,收藏一下

海哥

2020-03-25 22:03

FIND_IN_SET 性能很烂,慎用。

海哥

2020-03-25 22:05

如果使用 Jboot 的话,可以通过 Colums 查询,Dao.findByColumns(Columns.create().in(id,1,2,3,4)) 就可以了

简单代码

2020-03-26 16:46

还是觉得开始的写法看着舒服,非要把简单事情搞复杂了。。。