mysql - 如何使用数组创建 MySQL 查询?

标签 mysql ruby arrays

我需要获取一个数组并将其用于 MySQL 查询。

我尝试寻找方法,但它们似乎都与 PHP 数组相关,而不是 Ruby。

例如,我有 terms = ['genetics', 'elderly', 'health'] 我想使用:

con.query "SELECT col1 FROM data1 WHERE MATCH (col2) AGAINST (terms)"

这可能吗?

最佳答案

您可以在against 子句中加入您的条款:

terms = ['genetics' , 'elderly', 'health']
con.query "SELECT col1 FROM data1 WHERE MATCH col2 AGAINST ('#{terms.join(' ')}')"

请注意,使用 match/against 几乎肯定比使用一系列 like 子句更有效。有关详细信息,请参阅此 StackOverflow 答案:Which SQL query is better, MATCH AGAINST or LIKE? .

查看 MySQL 文档以获取有关全文搜索(包括可能的运算符)的更多信息:http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html .

关于mysql - 如何使用数组创建 MySQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17412980/

相关文章:

c# - 如何在 C# 中序列化和反序列化以字节数组作为成员的类

javascript - 将数组转换为关联数组的函数

java - 您的 SQL 语法有错误,请查看手册 JAVA

php - bool 字段与单独表

PHP 字符串查找和替换直到最后一个实例

Ruby - Nokogiri - 需要将 node.value 放入数组

ruby-on-rails - 如何重构 "shared"方法?

java - ruby 和鸭子打字: design by contract impossible?

MySQL SQL语法给出列错误

c++ - 从文件创建二维 vector ?