2016-05-05 3 views
0

こんにちは私はMySQLには新しく、キーワードを使用してデータベースからデータを抽出しようとしています。私は2つの列(タグとカテゴリ)を持っています。私はこれを、LIKEの '%keyword%'をクエリで使用する前に行っています。問題は、私はそれぞれのキーワードが ';'で区切られているデータベースを使用しています。私は何とかセミコロンをスペースで置き換えることによって各キーワードを分けることが可能かどうかを知りたいですか?または、同じクエリを使用する方が簡単ですが、 '%'を使用してセミコロンを区切るのではなく、申し訳ありませんが、初心者の質問ですが、私はこれで苦労して、本当にいくつかの助けが必要です。複数のmysqlデータベースの文字列を置換する

おかげ

答えて

1

あなたはスペースとセミコロン(またはその他)を置き換えることができます。

insert into `test` values ('tag', 'cat'); 
insert into `test` values ('tag', 'cat1;cat2;cat3;'); 

例を選択します置換機能:

UPDATE MyTable SET tags = REPLACE(tags,';',' '), categories = REPLACE(categories,';',' ') 
0

問題は、私は今、各キーワードが で分離されている使用していますデシベルです「;」セミコロンを空白に置き換えて、どういうわけか各 のキーワードを分けることができるかどうかを知りたいですか?または、それが簡単な場合 同じクエリを使用しますが、代わりに '%'を使用すると、私は セミコロンを使用しますか?

例テーブル:

CREATE TABLE `test` ( 
    `tags` varchar(255) NOT NULL, 
    `categories` varchar(255) NOT NULL 
) ENGINE=MyISAM DEFAULT CHARSET=latin1; 

サンプルデータ:で

select * from `test` where `categories` LIKE '%cat1;%'; 
+------+-----------------+ 
| tags | categories  | 
+------+-----------------+ 
| tag | cat1;cat2;cat3; | 
+------+-----------------+ 
1 row in set (0.00 sec) 
関連する問題