キーワードを含むテーブルと文字列値を含むテーブルの 2 つのテーブルがあります。最初のテーブル ID への参照が挿入される列を追加したいと考えています。この挿入された値は、最初の行の文字列が取得される場所に基づいており、他のテーブルのキーワードが含まれているかどうかがチェックされ、文字列に含まれているキーワードが見つかった場合は、そのキーワードの ID がここに挿入されます(外部キー制約を含める必要があります)。
これをどのように達成できるかについて私は混乱しています。このフィールドは挿入後に入力する必要があるため、プロシージャまたはトリガーである必要があります。トリガーを試していますが、文字列関数を実行できません。
私はSQLと学習が初めてなので、INSTR()を試しましたが、最初のキーワードしかかかりません。
また、両方のテーブルにそれぞれ約 10000 の値が含まれているため、どちらの方法が最適で高速になります。
1テーブルはスポーツ入り
id - sport
他のテーブルは funlocator を含む
id - countryid - tag - link - email - sportid
funlocater のデータは、自動的に入力する必要がある Sportid 部分を除いて、手動で入力されます。
例えば。funlocator の行に含まれる
1 - 183 - skatebording competition at tawar mall - www.abcd.com/abcd?xyz - abcd@abcd.com - ???
funlocator のタグ列の文字列に含まれている場合、sportid にはキーワード スケートボードをチェックした後、sports テーブルの sportid が含まれている必要があります。
これは次のようINSTR('skateboarding', funlocater.tag)
になりますが、最も一致するすべての値を確認したいと思います。マッチング作業はどのように行うのですか?INSTR()
は機能しますが、値は 1 つしか取りません。キーワードが見つかったかどうかを確認してから、sports.id を挿入するか、次のキーワードを確認します。