修的了电脑 敲得了代码
     写得了前端 稳得住后端

MySQL查询多个id三种方法

有时候,我们需要mysql查询多个id的语句,那么:mysql如何同时查询多个id呢?多条语句直接连接,还是怎么的?其实,非常的简单,mysql已经提供了相关的字符串函数与比较函数,如下:

1、INSTR() 返回第一次出现的子串的索引

2、FIND_IN_SET() 返回第二个参数中第一个参数的索引(位置)

3、IN() 一个值是否在一组值内

 

我们完全可以通过上面延伸得到"MySQL查询多个id"的方法,具体如下:

 

MySQL查询多个id 第一种方法:

 

查询article表 id=2, id=3, id=5 的数据

SELECT * FROM `article` WHERE INSTR(CONCAT(',','2,3,5',','),CONCAT(',',id,','))>0;

 

MySQL查询多个id 第二种方法:

 

查询article表 id=2, id=3, id=5 的数据

SELECT * FROM `article` WHERE FIND_IN_SET(id,'2,3,5');

 

MySQL查询多个id 第三种方法:

 

查询article表 id=2, id=3, id=5 的数据

SELECT * FROM `article` WHERE IN('2','3','5');

 

总结:

具体个人应该用哪一种?请根据自己的情况来。像我这里,传过来接收的参数是一个类似于:'1,2,3,4,5,6' 的字符串,这种情况直接用 IN 是无效的,需要把字符串分割再重新组装。

赞(3)
未经允许不得转载:流云溪|码农 » MySQL查询多个id三种方法