我有一个带有文本列(VARCHAR(160))的表,我想用多个关键字进行搜索。问题是,我到处搜索答案,我不想使用该列中该行匹配的关键字更新另一列。
这是基本代码:
$sql = "SELECT * FROM table WHERE MATCH (column) AGAINST ('"A1" "A2 "A3" "B1" "B2" "etc."' IN BOOLEAN MODE)";
这适用于phpmyadmin(关键字实际上超过了4个字符),但下一步是当'column'中的一行中的单词与AGAINST关键字[an]其他列[s]匹配时(例如关键字) )使用例如1个或多个关键字(例如A1,B1,C4)和另一个TRUE或1的列进行更新,因此我知道此行有多个匹配关键字,或者只有一个匹配(例如A1)时为0。
我该怎么做?
要清除:我有多个关键字,我不知道哪些关键字对应于某个文字。我希望这些关键字与不同列中的文本匹配。这可以是一个关键字,但也可以是多个(例如A1,B3,C2)。因此,我想要一个额外的第二列,无论是真还是假(1,0),分别对应多个关键字匹配或单个匹配。
答案 0 :(得分:0)
根据(“使用多个关键字搜索”):https://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html#function_match。
SELECT * FROM `table` WHERE MATCH (column) AGAINST ('+kw1 +kw2 +kw3 etc...')