MySql select IN 子句字符串逗号分隔

2024-01-05

我需要按以下方式执行选择查询:

select * from my_table where id NOT IN (comma_delimited_string);

实现这一目标的正确方法是什么?

考虑到我控制发送字符串的客户端代码,是否有更好的方法? (该字符串将容纳大约 30 个 id,因此我试图避免发送 30 个参数,每个 id 一个参数)。

谢谢你们


您可以使用MySQLFIND_IN_SET http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_find-in-set功能:

SELECT *
FROM my_table
WHERE FIND_IN_SET(id, comma_delimited_string) = 0

Addendum:注意上面的查询是not可优化,所以如果你有一个索引idMySQL 不会使用它。您必须决定使用是否相对简单FIND_IN_SET值得承受潜在的性能影响(我说潜在是因为我不知道是否id已索引或者您的表足够大以至于需要考虑)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySql select IN 子句字符串逗号分隔 的相关文章

  • “修改列”与“更改列”

    我知道 我们不能使用重命名列MODIFY COLUMN语法 但我们可以使用CHANGE COLUMN syntax 我的问题是 主要用途是什么modify syntax 例如 ALATER TABLE tablename CHANGE co
  • MySQL“列计数与第 1 行的值计数不匹配”是什么意思

    这是我收到的消息 ER WRONG VALUE COUNT ON ROW 列计数与第 1 行的值计数不匹配 这是我的全部代码 我的错误在哪里 DROP TABLE student CREATE TABLE employee emp id I
  • MySQL 概念:会话与连接

    我对 MySQL 的概念有点困惑 会话与连接 当谈论连接到 MySQL 时 我们使用连接术语 连接池等 然而在 MySQL 在线文档中 http dev mysql com doc refman 4 1 en server system v
  • 无法连接到 MAMP 上的 phpMyAdmin

    我收到此错误消息 MySQL 说道 无法连接 设置无效 phpMyAdmin 尝试连接 MySQL 服务器 但服务器拒绝连接 您应该检查配置中的主机 用户名和密码 并确保它们与 MySQL 服务器管理员提供的信息相对应 用户和通行证是默认的
  • 休眠以持久保存日期

    有没有办法告诉 Hibernate java util Date 应该持久保存 我需要这个来解决 MySQL 中缺少的毫秒分辨率问题 您能想到这种方法有什么缺点吗 您可以自己创建字段long 或者使用自定义的UserType 实施后User
  • MySQL InnoDB 约束不起作用

    我偶然发现 innoDB 约束的奇怪行为 但找不到原因 我有包含数据的表格 下面列出了它们的结构 CREATE TABLE contents id int 10 unsigned NOT NULL AUTO INCREMENT title
  • 如何使用 MySQL 选择有特定值的 2 个连续行?

    我正在构建一个系统 该系统应该显示学生何时连续缺席两天 例如 此表包含缺勤情况 day id missed 2016 10 6 1 true 2016 10 6 2 true 2016 10 6 3 false 2016 10 7 1 tr
  • 条件触发器的Django迁移sql

    我想创建一个触发器 仅在满足条件时插入表 我尝试过使用 IF BEGIN END 和 WHERE 的各种组合 但 Django 每次都会返回 SQL 语法错误 这里 type user id指的是触发该事件的人 user id指的是接收到通
  • MySQL如何获取unix时间戳的时间差

    我有一个保存值1506947452的变量 需要使用公式从该日期提取分钟 started data now date 但started date采用unix时间戳格式10位int数字 我以ajax形式收到并需要放入mysql查询i试试这个 S
  • phpActiveRecord 日期时间格式不正确

    当尝试使用 phpActiveRecord 在表中创建记录时 出现以下错误 Invalid datetime format 1292 Incorrect datetime value 2013 06 20 11 59 08 PDT for
  • 使用 PHP 将 latin1_swedish_ci 转换为 utf8

    我有一个数据库 里面充满了类似的值 Dhaka 应该是 Dhaka 因为我在创建数据库时没有指定排序规则 现在我想修复它 我无法从最初获取数据的地方再次获取数据 所以我在想是否可以在 php 脚本中获取数据并将其转换为正确的字符 我已将数据
  • MySQL 中 INDEX、PRIMARY、UNIQUE、FULLTEXT 之间的区别?

    创建MySQL表时PRIMARY UNIQUE INDEX和FULLTEXT有什么区别 我将如何使用它们 差异 KEY or INDEX指的是普通的非唯一索引 索引的非不同值是允许的 因此索引may索引的所有列中包含具有相同值的行 这些索引
  • 在 MySQL 中进行全文搜索的最有效方法

    我有 3 个表 我想查询搜索词文本框 我的查询目前看起来像这样 SELECT Artist FROM Artist Band Instrument WHERE MATCH Artist name AGAINST mysearchterm O
  • mysql GROUP_CONCAT 重复项

    我从 farmTOanimal 表中进行连接 如下所示 有一个类似的farmTotool表 id FarmID animal 1 1 cat 2 1 dog 当我在视图中加入表时 我得到的结果如下所示 FarmID animal tool
  • 'numpy.float64'对象没有属性'translate'在Python中将值插入Mysql

    import dataset db dataset connect table db 当我尝试向 Mysql 表中插入一些值时 发生了此错误 我插入表中的示例值 print Buy ticker price date OType OSize
  • 用一种方法进行 Ruby 选择和拒绝

    是否有任何内置方法可以结合以下功能Enumerable select 找到该块等于 true 的所有内容 和Enumerable reject 找到该块中所有等于 false 的内容 就像是 good bad list magic meth
  • PHP 和 MySQL 的重音字符错误

    我的问题是 直接通过 PHP 编写的内容是正确重音的 但是当重音单词来自 MySQL 时 字母会像这样 我尝试使用html charset as ISO 8859 1它修复了 MySQL 字母 但破坏了其他字母 解决这一切的一种方法是设置我
  • 如何使用php在mysql数据库中添加照片? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我对 PH
  • MySQL 中布尔值的 TINYINT 与 ENUM(0, 1)

    MyISAM 表和 MySQL 5 1 中具有 0 和 1 值的 Tinyint 或 ENUM 0 1 哪个更好 您可以使用BIT 1 如中提到的MySQL 5 1 参考 http dev mysql com doc refman 5 1
  • ODBC 链接表中突然开始出现写入冲突消息

    我有一个 mySQL 数据库 用于跟踪我们的项目并驱动我们的网站显示其信息 为了方便更新数据库 我设置了一个使用 ODBC 连接 MySQL ODBC 5 1 来编辑数据的访问数据库 过去几个月一直运行良好 没有出现任何问题 然而 昨晚用户

随机推荐

  • 具有多个条件的内连接 r 数据表

    我正在尝试使用具有多个相当动态条件的数据表进行内部联接 我被语法绊倒了 首先 我创建两个对象 x and x2我想与之进行内部连接 set seed 1 generate data x data table CJ t 1 10 d 1 3
  • 根据以字符串形式给出的数字键对对象数组进行排序[重复]

    这个问题在这里已经有答案了 我有一个带有键值对的数组 数组列是 id 和 name 我想按 id 对这个数组进行排序 id 列值是字符串类型 但我想将它们排序为数值 var items id 165 name a id 236 name c
  • 通过方法参考了解编译时错误

    根据文档 方法引用绝对不是静态调用 它适用于静态和非静态方法 当我们在给定类中定义自己的非静态方法并尝试使用方法引用来使用它时 编译时错误 无法对非静态方法进行静态引用 在函数的情况下不会出现 而仅在情况下出现供应商 消费者和谓词 为什么会
  • 在 find('list') 中使用多个 valueField

    尝试在我的查找方法中使用多个字段 users this gt AdressesUsers gt users gt find list keyField gt id valueField gt firstname lastname 有效 有点
  • 仅选择 LINQ 中的第一个对象?

    基本上我想针对 LINQ 调整此代码 private Tile CheckCollision Tile tiles foreach var tile in tiles if tile Rectangle IntersectsWith Rec
  • Yagarto(GCC、Win32)在不同的 PC 上以不同的方式编译相同的代码

    我正在 Windows 上使用 Yagarto 工具链来编译大约 100K 行代码的代码库 我们有两台开发电脑 然而 尽管它们具有相同的工具链并构建相同的源代码 但它们各自构建的二进制文件略有不同 我已经使用 MD5 检查了我们是否具有相同
  • 将 OpenCV 图像转换为黑白图像

    如何将 OpenCV 灰度图像转换为黑白图像 我看到一个类似的问题 https stackoverflow com questions 1585535 convert rgb to black white in opencv已经被问过 但我
  • 错误:找不到 [object Object] 的组件工厂

    我被困住了 我知道通常如何处理这个问题 但这次我陷入了困境 1 Error Uncaught in promise Error No component factory found for object Object Did you add
  • 如何获取给定日期前 14 天以避免节假日

    在我的系统中 帐单的到期日必须是签发日期后的 14 天 我有截止日期 我想知道签发日期 我必须计算 issued date 14 days prior to the due date but 14天必须是工作日 不能是节假日 假期存储在表
  • C#动态绑定VS2010数据库中的图表

    我必须使用动态数据源创建图表 我有一个代码 它不显示错误 但图表在运行时也不可见 这里 out table 是我的表的名称 ADX 是它的列之一 code OleDbConnection con1 new OleDbConnection P
  • 发送原始交易以太坊 infura nodejs npm

    我目前正在尝试实现与我的 Typescript 节点项目的以太坊节点连接 我正在连接到 Infura 节点服务器 我需要在本地签署我的交易 好吧 无论如何 我正在使用 npm 包 ethereumjs tx 签署我的交易 一切看起来都很棒
  • select2 - 设置输入和下拉菜单的不同宽度

    我正在使用 Select2 3 3 2 我的选择中有非常非常长的选项 例子
  • 保存记录时未插入特定列

    我正在与CakePHP 1 3 13 在这里我编写了一段代码将表单插入数据库 在这里 交易数据库表如下所示 当我将记录插入数据库时 不会插入 coupon code 列 在这里 当我打印 this gt data 时 它将给出所有数据 例如
  • 如何在 XSL 和 for-each 语法中存储值?

    我的请求 XML 是
  • bash 合并文件中的行

    我想转换这个文本 qa ops01 mysite com dev mapper sys home 58G 26G 30G 47 home dev mapper sys tmp 3 9G 2 3G 1 5G 61 tmp qa ops02 m
  • 替代关系已弃用警告

    密码查询 MATCH x WHERE x uuid 41f64ab1 6009 4e95 b22b c833525f6edb MATCH p o CONTAINS HAVING gt x WHERE labels o IN Box Pack
  • 使用 Brunch 控制脚本串联的顺序

    使用 Brunch 时控制脚本 样式表连接顺序的最佳实践是什么 我的问题的一个简单版本涉及使用 Twitter Bootstrap 的应用程序 这需要 jQuery Bootstrap 要求首先加载 jQuery 最初我的供应商 目录中有以
  • 查看单个文件时,Xcode 快速帮助显示“无快速帮助”

    当我打开 Xcode 项目时 快速帮助功能工作得很好 但是当打开文件时 例如abc swift 不在打开的项目中 则不会出现文档 这是一个例子 安装该版本Command Line Tools为你的 Xcode Xcode menu gt O
  • 尝试序列化实体框架对象时出现 XML 序列化错误

    我有通过实体框架获取的实体 我使用的是 Code First 所以它们是 POCO 当我尝试使用 XmlSerializer 对它们进行 XML 序列化时 出现以下错误 方式 System Data Entity DynamicProxie
  • MySql select IN 子句字符串逗号分隔

    我需要按以下方式执行选择查询 select from my table where id NOT IN comma delimited string 实现这一目标的正确方法是什么 考虑到我控制发送字符串的客户端代码 是否有更好的方法 该字符