私は1つの列に複数のデータがセミコロンで区切られたMySQL DBを持っています。私は最初のものを使う必要があります。どのようにこの種の格納されたデータに対処するための最良の推奨方法は何ですか? (この特定の問題と、セミコロンで区切られたデータの一般的な使い方についても)。MySQLテーブルのセミコロンで区切られたデータを処理します
答えて
Q:「何が保存されたこの種のデータに対処する最善の方法を推奨される方法です?」
A:最高勧告はカンマ区切りのリストとしてに格納したデータを避けることです。 (。そして、いや、これはないは、我々は、リスト内の区切り文字としてコンマの代わりにセミコロンを使用する必要がありますどういう意味)
を、このトピックの導入については、私はビルKarwinの本の中で、第2章の見直しをお勧めします。 " SQLアンチパターン:ここ
https://www.amazon.com/SQL-Antipatterns-Programming-Pragmatic-Programmers/dp/1934356557
およびその他の細かい書店からの便利な利用できるデータベースプログラミング」
の落とし穴を回避します。セミコロン区切りのリストから最初の要素を取得するには
...一瞬のために取ってその勧告を設定し、我々はSUBSTRING_INDEX
機能を使用することができます。デモンストレーションとして
:
SELECT SUBSTRING_INDEX('abc;def;ghi',';',1)
リターンが
'abc'
のMySQL SUBSTRING_INDEX
機能がここに文書化されている:https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_substring-index
私はこれが唯一の「リンクと見なされるかもしれないことを認識回答"。この質問に対する良い答えは、カンマで区切られたリストを格納するという落とし穴を示す例を挙げて、ずっと長くなるでしょう。
リストの内容を調べる必要なしに、データベースがカンマで区切られたリストをデータのまとまりとして表示する場合は、格納する方法と同様に保存することを検討しますデータベース内の.jpg画像。
私は、BLOB、つまりブロックの一部として.jpgイメージ全体を格納して取得します。全体を保存し、全体を検索します。私は、データベースに画像の内容を操作させるつもりはない。私は、画像を調べてjpg画像の "中"の情報を識別するためにデータベースに依頼することはありません。私はそれから意味のある情報を得るためにデータベースに頼むつもりはありません...写真には何人の人がいるのですか?写真の人の名前は何ですか?写真に人を加えるなど。
jpgイメージを扱うように、コンマで区切られた(またはセミコロンで区切られた)区切りのリストを、オブジェクトであることを意図している場合は格納しません。これは不透明なバイトブロックです。
- 1. セミコロンで区切られた列の行ごとに区切られた値
- 2. mysqlからコンマで区切られたデータを取得する
- 3. セミコロンで区切られたCSVファイルを読み取る
- 4. セミコロンで区切られたcsvを読む
- 5. Oracle +セミコロンで区切られた列の一致が見つかりました。
- 6. Java:セミコロンで区切られた文字列を分割するが、エスケープ+セミコロンを引用符で囲まずに
- 7. スペースで区切られたASCIIファイルを繰り返し処理する方法
- 8. jqueryの値をセミコロンで区切って
- 9. VBScriptハウツーは、区切られた区切りで区切られた別々の値を分割しますか?
- 10. MSBuild:セミコロンで区切られたプロパティの解析を制御する方法
- 11. シェルスクリプトで配列にセミコロンで区切られた文字列をロードする
- 12. Pythonでセミコロンで区切られた文字列を分割する
- 13. 区切られたExcelデータをMySQL DBにアップロード
- 14. セミコロンで区切られたファイルから整数を読み取る方法は?
- 15. コロンとセミコロンで区切られた文字列からの抽出R
- 16. JavaScriptを使ってセミコロンで区切られた文字列を変換する
- 17. ストアドプロシージャを作成してテーブルのリストを反復処理し、それらをMySQLで切り捨てます。
- 18. Azure ML:CSVファイルを区切り記号としてセミコロンで保存して処理する方法は?
- 19. 多くの値がセミコロンで区切られた単一の列R
- 20. タブを繰り返し、C++を使用して区切られたファイルをパイプで処理します
- 21. 区切られたBlobデータ(oracle内)
- 22. 製品名をセミコロンで区切ったsqlを作成しますか?
- 23. セミコロンで区切られた列の値に基づいて行を選択します。PL/SQL
- 24. 行のバッチ処理のセミコロン
- 25. タブ区切り記号をセミコロンに変換します
- 26. SQL Serverのテーブルで区切られた値を検索します。
- 27. SparkでのMysqlデータ処理
- 28. 行を折りたたみ、ユニークを保ち、セミコロンで区切ります。
- 29. mysqlのコンマで区切られたリストを交差させる
- 30. 保存Excelワークシートヌルとセミコロン区切り
データを標準化し、区切られたデータを1つのフィールドに保存しないでください。理由の詳細については、http://stackoverflow.com/questions/3653462/is-storing-a-delimited-list-in-a-database-column-really-that-badを参照してください。 – Shadow