我需要获取一个数组并将其用于 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/