カンマ付きのものは、どのようにすればよいでしょうか?
例えば、テーブル[av_items]を作って、カラム [title_keyword]に
テレビ,液晶,プラズマ,モニタ,TV ・・・といったように
,カンマ付きのものを登録する場合です。
宜しくお願いします。
単に登録したいということであれば、title_keyword の型は tinytext にしておき、
insert into av_items (title_keyword) values ('テレビ,液晶,プラズマ,モニタ,TV');
で登録できます。
title_keyword 内の検索は、like と % 演算子を使って部分一致検索ができます。
キーワードを個々分割して処理すること(例:あるキーワードに合致するレコードを抽出)が多いということなら、キーワード部分を分離してリレーションさせた方がいいでしょう。
つまり、情報本体のテーブル [av_items] と、キーワードだけからなるテーブル [av_items_keywords] を共通IDでリレーションを張ります。
id | title |
---|---|
0001 | WOO |
0002 | AQUOS |
‥‥ | ‥‥ |
id | keyword |
---|---|
0001 | テレビ |
0001 | 液晶 |
0001 | モニタ |
0001 | TV |
0002 | テレビ |
0002 | TV |
‥‥ | ‥‥ |
普通に文字列をシングルクオートで囲ってあげればいいのでは??
あとは mysql_real_escape_string() で特殊文字をエスケープさせてあげるのを忘れずにといったところでしょうか。
なるほど。ありがとうございます。
書き忘れてしまったのですが、CSVでデータをいれる場合は
どのようにすればよいのでしょうか?
単に登録したいということであれば、title_keyword の型は tinytext にしておき、
insert into av_items (title_keyword) values ('テレビ,液晶,プラズマ,モニタ,TV');
で登録できます。
title_keyword 内の検索は、like と % 演算子を使って部分一致検索ができます。
キーワードを個々分割して処理すること(例:あるキーワードに合致するレコードを抽出)が多いということなら、キーワード部分を分離してリレーションさせた方がいいでしょう。
つまり、情報本体のテーブル [av_items] と、キーワードだけからなるテーブル [av_items_keywords] を共通IDでリレーションを張ります。
id | title |
---|---|
0001 | WOO |
0002 | AQUOS |
‥‥ | ‥‥ |
id | keyword |
---|---|
0001 | テレビ |
0001 | 液晶 |
0001 | モニタ |
0001 | TV |
0002 | テレビ |
0002 | TV |
‥‥ | ‥‥ |
コメントを含め、詳しいご説明ありがとうございます。
よく理解できました。
コメントを含め、詳しいご説明ありがとうございます。
よく理解できました。