0

複数のキーワードで検索したいテキスト列 (VARCHAR(160)) を持つテーブルがあります。問題は、その列のその行で一致するキーワードで別の列を更新したくないということです。

これは基本的なコードです:
$sql = "SELECT * FROM table WHERE MATCH (column) AGAINST ('"A1" "A2 "A3" "B1" "B2" "etc."' IN BOOLEAN MODE)";

これはphpmyadminで機能します(キーワードは実際には4文字より長くなります)が、次のステップは、「列」の行の単語がAGAINSTキーワードと一致すると[an]他の列[s](キーワードなど)が更新されることですたとえば、1つまたは複数のキーワード(A1、B1、C4など)とTRUEまたは1の別の列があるため、この行には複数の一致するキーワードがあるか、一致が1つしかない場合(A1など)は0であることがわかります。

どうすればいいですか?

明確にするために:複数のキーワードがあり、特定のテキストに対応するキーワード知りたくない。別の列のテキストに一致するこれらのキーワードが必要です。これは 1 つのキーワードだけでなく、複数 (A1、B3、C2 など) の場合もあります。したがって、true または false (1,0) であり、それぞれ複数のキーワード一致または単一の一致に対応する追加の 2 番目の列が必要です。

4

1 に答える 1

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...')
于 2012-08-14T13:51:51.770 に答える