在项目中用的是 EF、MySQL,在查询中用到某一个字段的值在某几个中。一开始想到的是 in。

但是,这个字段是 int 类型的,传入的参数需要用“,”分隔。这样传入的就是字符型的。

这样的结果是:本来是 in (1,2,3),这样传参变成 in (‘1,2,3’)和预期的不一样。

为了防止SQL语句的注入,没有使用拼接语句。找了半天发现 find_in_set 这个函数可以达到效果。

来举结果例子:

select * from table_name t where find_in_set(t.field1,'1,2,3,4');

select * from `test` t where find_in_set('daodao',t.field1);

这两个都可以。第一个参数是要查询的目标,第二个参数是查询的源。

有一点,find_in_set 相对于 in 效率上面要差。

MySQL 中 关于 find_in_set 用法的更多相关文章

  1. MySql 中的 FIND_IN_SET 的使用和相关问题

    MySql 中的 FIND_IN_SET 的使用和相关问题 QQ 群里有人讨论如果在 category_ids 中打开 12 的分类,而 category_ids 中的 ID 是以 逗号分开的. 使用 ...

  2. mysql中event的用法详解

    一.基本概念mysql5.1版本开始引进event概念.event既“时间触发器”,与triggers的事件触发不同,event类似与linux crontab计划任务,用于时间触发.通过单独或调用存 ...

  3. Mysql中使用find_in_set函数查找字符串

    mysql有个表的字段的存储是以逗号分隔的,如domain字段login.s01.yy.com,s01.yy.com,s02.yy.com.现在要查找s01.yy.com这个.我们用like查找好像不 ...

  4. mysql中limit的用法实例解析

    mysql中limit的用法解析. 在mysql中,select * from table limit m,n.其中m是指记录开始的index,从0开始,n是指从第m条开始,取n条. 例如: mysq ...

  5. Mysql中limit的用法详解

    Mysql中limit的用法详解 在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,为我们提供了limit这样一个功能. SELECT * FROM table LIMIT [offset ...

  6. mysql中explain的用法

    mysql中explain的用法 最近在做性能测试中经常遇到一些数据库的问题,通常使用慢查询日志可以找到执行效果比较差的sql,但是仅仅找到这些sql是不行的,我们需要协助开发人员分析问题所在,这就经 ...

  7. MySQL中CONCAT()的用法

    MySQL中CONCAT()的用法 在日常开发过程中,特别是在书写接口的时候,经常会遇到字符串拼接的情况,比如在返回图片数据时,数据库里往往存储的是相对路径,而接口里一般是存放绝对地址,这就需要字符串 ...

  8. mySQL中replace的用法

    MySQL replace函数我们经常用到,下面就为您详细介绍MySQL replace函数的用法,希望对您学习MySQL replace函数方面能有所启迪   mysql replace实例说明: ...

  9. Mysql中autocommit的用法

    定义 Mysql文档原文:SET autocommit disables or enables the default autocommit mode for the current session. ...

随机推荐

  1. 【Chrome插件】右键搜--多站点搜索

    写在前面:看文章前请先看文章写作时间,避免浪费时间.2019-09-10 使用场景 一次输入,同时在多个网站进行内容搜索,比如一键在不同网站搜索电影.一键获取多个搜索引擎的搜索结果. 操作演示 评分 ...

  2. bert论文笔记

    摘要 BERT是“Bidirectional Encoder Representations from Transformers"的简称,代表来自Transformer的双向编码表示.不同于 ...

  3. 【机器学习】attention机制

    参考: 1.https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html

  4. 个人PC电脑 关闭网卡自启

    前言: 今早我打开我的电脑,惊呆了.出现了以下字样: This Product is covered by one or more of the following patents ... 看了BIO ...

  5. Kubernetes(k8s)目录

    Kubernetes(k8s)目录 Kubernetes集群安装(亲测有效)

  6. ajax后台跳转无效的原因

    Ajax只是利用脚本访问对应url获取数据而已,不能做除了获取返回数据以外的其它动作了.所以浏览器端是不会发起重定向的. 1)正常的http url请求,只有浏览器和服务器两个参与者.浏览器端发起一个 ...

  7. mybatis与Spring集成(Aop整合PagerAspect插件)

    目的: Mybatis与spring集成 Aop整合pagehelper插件 Mybatis与spring集成 导入pom依赖 <?xml version="1.0" enc ...

  8. vue设置input不可编辑切换

    html: <Input name="a" v-model="formValidate.coName" placeholder="请输入姓名&q ...

  9. Web Services使用SOAP Header

    在Web Services方法进行通信使用SOAP遵循标准的SOAP格式,该格式的一部分是在XML文档中编码的数据.XML文档包含一个Envelope根元素(由必需的Body元素和可选的Header元 ...

  10. jmeter保存返回数据到csv

    添加一个线程组,然后右键选择“正则表达式提取器” 配置正则表达式: 添加添加后置处理器beanshell postprocessor: 保存提取的数据: 代码: FileWriter fstream ...