mysql(+php)で、metaのキーワードを登録したいと思っていますが、

カンマ付きのものは、どのようにすればよいでしょうか?

例えば、テーブル[av_items]を作って、カラム [title_keyword]に
テレビ,液晶,プラズマ,モニタ,TV ・・・といったように
,カンマ付きのものを登録する場合です。

宜しくお願いします。

回答の条件
  • 1人1回まで
  • 登録:2008/04/20 00:56:18
  • 終了:2008/04/20 17:35:29

ベストアンサー

id:pahoo No.2

pahoo回答回数5960ベストアンサー獲得回数6332008/04/20 09:36:40

ポイント45pt

単に登録したいということであれば、title_keyword の型は tinytext にしておき、

insert into av_items (title_keyword) values ('テレビ,液晶,プラズマ,モニタ,TV');

で登録できます。

title_keyword 内の検索は、like と % 演算子を使って部分一致検索ができます。


キーワードを個々分割して処理すること(例:あるキーワードに合致するレコードを抽出)が多いということなら、キーワード部分を分離してリレーションさせた方がいいでしょう。

つまり、情報本体のテーブル [av_items] と、キーワードだけからなるテーブル [av_items_keywords] を共通IDでリレーションを張ります。

テーブル [av_items]

id title
0001 WOO
0002 AQUOS
‥‥ ‥‥

テーブル [av_items_keywords]

id keyword
0001 テレビ
0001 液晶
0001 モニタ
0001 TV
0002 テレビ
0002 TV
‥‥ ‥‥
id:yossui_coll

コメントを含め、詳しいご説明ありがとうございます。

よく理解できました。

2008/04/20 17:34:30

その他の回答(1件)

id:litt No.1

litt回答回数9ベストアンサー獲得回数12008/04/20 08:42:03

ポイント25pt

普通に文字列をシングルクオートで囲ってあげればいいのでは??

あとは mysql_real_escape_string() で特殊文字をエスケープさせてあげるのを忘れずにといったところでしょうか。

id:yossui_coll

なるほど。ありがとうございます。

書き忘れてしまったのですが、CSVでデータをいれる場合は

どのようにすればよいのでしょうか?

2008/04/20 09:25:07
id:pahoo No.2

pahoo回答回数5960ベストアンサー獲得回数6332008/04/20 09:36:40ここでベストアンサー

ポイント45pt

単に登録したいということであれば、title_keyword の型は tinytext にしておき、

insert into av_items (title_keyword) values ('テレビ,液晶,プラズマ,モニタ,TV');

で登録できます。

title_keyword 内の検索は、like と % 演算子を使って部分一致検索ができます。


キーワードを個々分割して処理すること(例:あるキーワードに合致するレコードを抽出)が多いということなら、キーワード部分を分離してリレーションさせた方がいいでしょう。

つまり、情報本体のテーブル [av_items] と、キーワードだけからなるテーブル [av_items_keywords] を共通IDでリレーションを張ります。

テーブル [av_items]

id title
0001 WOO
0002 AQUOS
‥‥ ‥‥

テーブル [av_items_keywords]

id keyword
0001 テレビ
0001 液晶
0001 モニタ
0001 TV
0002 テレビ
0002 TV
‥‥ ‥‥
id:yossui_coll

コメントを含め、詳しいご説明ありがとうございます。

よく理解できました。

2008/04/20 17:34:30
  • id:pahoo
    そのCSVファイルが間違いのないものであれば、MySQL の「LOAD DATA INFILE 構文」を使って一気に読み込むことができます。
    部分的に読み込んだり、データをチェックしながら読み込むのであれば、PHP の fgetcsv関数を使えばいいでしょう、

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません