5
私は商品カテゴリIDをカンマ区切りの値として保存するために 'categories'というフィールドを含む商品テーブルを持っています。私はカテゴリから製品を検索するためにregexpを使用しています。PHPでカンマ区切りの文字列から正確な値を検索するMySQL
が4,24,1,31
を含むレコードが存在すると仮定し、私の表現は、
..WHERE categories REGEXP ',?4,?'
であるが、これは私が唯一のカテゴリ4
を表示する必要があるカテゴリ4
と24
の両方の製品を返します。
何か不足していますか?
なぜあなたはそのような関係を保存しますか?なぜあなたは別のテーブルを使用しないのですか? –
私はそうでした。しかし、私は多くの製品を持っており、それらの製品はすべて2つ以上のカテゴリに関連しています。それで少し巨大なテーブルを作る。 – vinu
だから?これは、データベース内のものを行う正しい方法です。今あなたは巨大なテーブルでREGEXPをしなければならない、それは速いと思いますか? –