繁体   English   中英

根据逗号分隔的字符串在MySQL表中选择多行

[英]Select multiple rows in MySQL table based on a comma delimited string

我有一个带有列出库存页面的应用程序。 页面顶部是一个搜索文本框,用户可以在其中输入值,例如ID,名称,位置等。我希望用户能够在搜索文本框中输入多个值,并使MySQL返回一个找到的每个值的行。

我正在寻找纯MySQL解决方案,而不是PHP或Python ...

防爆。 搜索字符串:“ 161,Bob,Production,123,125”,其中所有值对应于不同的列(即,整数是ID,Bob是可能的名字,Production是位置)。 然后,MySQL将搜索每个逗号分隔的值,如果找到,则返回一行。 优选地,这将在一个查询中而不是顺序地进行,在第一个查询中找到,显示,然后在第二个查询中依次进行,等等。

您需要SQL IN运算符

这样的事情将满足您的需求:

SELECT * FROM table_name
WHERE table_name.id IN (161, 'Bob', 'Production', 123, 125)
OR table_name.first_name IN (161, 'Bob', 'Production', 123, 125)
OR table_name.location IN (161, 'Bob', 'Production', 123, 125)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM