2

私は MySql データベースを使用しており、そこには というテーブルがありますbooks

ユーザーが 2 つのアイテムを関連付けることができるシステムを実装して、一方を表示すると他方へのリンクが表示されるようにしたいと考えています。

私の問題は、( ) が ( ) にリンクされているときに、 にもリンクされているようにしbook1たいid==1ということです。book2id==2book2book1

私がそうしようと考えていた方法は、 と呼ばれる新しいテーブルを作成し、relations少なくとも 2 つの列col1とを持ちcol2、関連するすべてのアイテムの ID を保存することでした。たとえば、book1andの行は次のbook2ようになります。

  —————————————————
 |  COL1  |  COL2  |
  —————————————————
1|   1    |   2    |
  —————————————————

だから見るときbook1私はSELECT * FROM 'relations' WHERE COL1 = '1' OR COL2 = '1'

このように動作するはずだと思いますが、これを処理するためのより良い/より効率的な方法があるかどうか疑問に思っていました.

4

1 に答える 1