今まで、SQLデータベースにこれらのコンマ区切りのリストを保持したかったのですが、すべての警告に注意してください!
私は、ルックアップテーブル(正規化されたデータベースへの道を提供する)よりも利点があると考え続けました。数日間拒否した後、私は光を見ました :
- ルックアップテーブルを使用しても、1つのフィールドでカンマ区切りの値を使用する場合、これらの醜い文字列操作よりも多くのコードが発生することはありません。
- ルックアップテーブルではネイティブの数値形式を使用できるため、これらのcsvフィールドより大きくはありません。でも小さいです。
- 関連する文字列操作は、高級言語コード(SQLおよびPHP)ではスリムですが、整数の配列を使用する場合に比べてコストがかかります。
- データベースは人間が読める形式ではなく、私が行ったように、構造が読みやすく、直接編集できるため、構造に固執しようとするのはほとんど愚かです。
つまり、MySQLにネイティブのSPLIT()関数がないのには理由があります。