我有一个关于我最近接手的半完成项目的php / mysql查询问题。
该项目是一个使用mysql数据库在php中编程的在线商店,该数据库也通过ERP(C ++)软件连接。 ERP和半成品在线商店由同一个程序员完成,但我的客户对商店的结果非常不满意。 由于程序员拒绝与我一起工作,我对于一个非常简单的问题感到困惑。
我需要跨两个字段进行全文搜索,这两个字段都有全文索引。这是一个简单的“SELECT ... MATCH ... AGAINST”,但它没有按预期工作。 如果我将例如“树”作为搜索项,则查询会查找具有“树”但不是“树”或“树”的所有内容,依此类推...... 我的第一个猜测是将字段的排序更改为与latin1_general_cs不同的字体,但不幸的是,ERP似乎并不那么喜欢。
我在某处读到,有可能在查询字符串中将所需字段转换为更有用的内容,但我无法弄明白。
也许有人有类似的问题?
答案 0 :(得分:1)
试试这个::
Select * from myTable where LOWER(column) like '%tree%'
如果存在,您将从表中获取所有Tree,TREE,树
答案 1 :(得分:0)
我相信你可以在LOWER()函数中将列放在MATCH子句中。如果确保只将小写字符串传递给AGAINST子句(或将它们包装在自己的LOWER()中),则不会出现此问题。