博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql 使用 FIND_IN_SET 来查询数据
阅读量:6803 次
发布时间:2019-06-26

本文共 746 字,大约阅读时间需要 2 分钟。

mysql中find_in_set函数很有意思,它的功能是查找以英文逗号隔开的值,我们可以将数据存储类似为1,2,3,4格式。今天我们就来看看在thinkphp中怎样正确地使用find_in_set函数进行数据查询。

在ThinkPHP中, 我们可以使用数组的形式组合查询条件,对于组装find_in_set时,可以有如下写法:

$map['_string']="FIND_IN_SET(1,tid)";//tid为表字段

还可以组合多个find_in_set查询一起使用:

$map['_string'] = "FIND_IN_SET(1,tid) OR FIND_IN_SET(2,tid) OR FIND_IN_SET(3,tid) OR FIND_IN_SET(4,tid)";

最后生成的sql语句如下所示:

SELECT `id`,`title`,`enname`,`futitle`,`picture`,`content` FROM `tp_content` WHERE `is_recover` = 0 AND `cityid` = 2 AND ( `cate_id` = '1' OR `cate_pid` = '1' ) AND ( FIND_IN_SET(1,tid) OR FIND_IN_SET(2,tid) OR FIND_IN_SET(3,tid) OR FIND_IN_SET(4,tid) )  ORDER BY add_time desc,id desc LIMIT 0,10

使用 FIND_IN_SET 可以省下用php切成数组然后在进行匹配的麻烦

转载于:https://www.cnblogs.com/dywangzq/p/9305802.html

你可能感兴趣的文章
Linux下高并发socket最大连接数所受的各种限制 .
查看>>
php基础教程之mysqli
查看>>
jvax.net.ssl.SSLException: 异常解决
查看>>
IPC(进程间通信)几种常用的方法
查看>>
Python 模块 & 作用域
查看>>
20145129 《Java程序设计》第5周学习总结
查看>>
Linux服务器---使用mysql
查看>>
Linux服务器---安装telnet
查看>>
UBUNTU 12.04 LTS 64 JDK 安装配置
查看>>
CIF、DCIF、D1分辨率是多少?
查看>>
js 中解决 下载路径有中文的问题
查看>>
Sublime Text 全程指引 by Lucida
查看>>
php 面向对象基础总结
查看>>
负载均衡集群解决方案 (二)Nginx
查看>>
linux下tc控制流量控制档
查看>>
Oracle基础学习总结之数据库与实例
查看>>
sftp配置多用户权限
查看>>
System Volume Information 文件夹文件删除
查看>>
我的友情链接
查看>>
Linux初认识
查看>>