0

次のようなカンマ区切りのリストが mysql テーブルに保存されています。

-----------------
|id | list      |
-----------------
| 4 |12,45,65,4 |

「リスト」の各番号は、別のテーブルの ID に対応しています。

これらの ID に基づいて他のテーブルをクエリし、「リスト」の番号に関連付けられた行を表示する方法はありますか?

4

1 に答える 1

2

現在のスキーマでは効率的な方法ではありません。これを行うための正しく最も効率的な方法は、次のように複数の行を保持するようにスキーマを変更することです。

-----------------
|id | list      |
-----------------
| 4 |    12     |
| 4 |    45     |
| 4 |    65     |
| 4 |     4     |

次に、操作を使用して、他のテーブルの関連するすべての行にJOIN接続します。4

これはデータベースの正規化と呼ばれ、データベース設計において非常に重要なトピックです。リレーショナル データベース システムは、この種の問題を効率的に処理するように構築されています。

于 2012-05-22T20:00:28.287 に答える