0

我有一个关于我最近接手的半成品项目的 php/mysql 查询问题。

该项目是一个使用 mysql 数据库用 php 编程的在线商店,该数据库也通过 ERP (C++) 软件连接。ERP和半成品网店是同一个程序员做的,但是我的客户对开店的结果很不满意。由于程序员拒绝与我一起工作,我被困在一个非常简单的问题上。

我需要对两个都有全文索引的字段进行全文搜索。这将是一个简单的“SELECT ... MATCH ... AGAINST”,但它不能按预期工作。如果我将例如“树”作为搜索项,则查询会找到带有“树”但不是“树”或“树”等的所有内容......我的第一个猜测是将字段的排序规则更改为不同的东西比 latin1_general_cs 但不幸的是 ERP 似乎不太喜欢。

我在某处读到,有可能在查询字符串中即时将所需字段转换为更有用的内容,但我无法弄清楚。

也许有人有类似的问题?

4

2 回答 2

1

尝试这个 ::

Select * from myTable where LOWER(column) like '%tree%'

如果存在,您将从表中获得所有树、树、树

于 2012-09-22T18:57:07.077 回答
0

我相信您可以将 MATCH 子句中的列粘贴到 LOWER() 函数中。如果您确保只将小写字符串传递到您的 AGAINST 子句中(或将它们包装在它们自己的 LOWER() 中),您就不会有这个问题。

于 2012-09-22T18:57:27.693 回答