-2

ユーザーのテーブルがあり、2 つの行をリンクする必要があります。つまり、あるユーザーに別のユーザーへのリンクを持たせたいのです。

PHPでmysqlを使用することは可能ですか?

そうでない場合は、他の方法を提案してください。

4

3 に答える 3

1

自己結合を行うことができます:

SELECT a.*, b.*
FROM   my_table a JOIN my_table b ON a.foo = b.bar

2 つのレコード間の「リンク」を永続的に保存するには、関係テーブルを作成できます。

CREATE TABLE relationships (
  id_a BIGINT UNSIGNED NOT NULL,
  id_b BIGINT UNSIGNED NOT NULL,
  PRIMARY KEY (id_a, id_b),
  FOREIGN KEY (id_a) REFERENCES my_table (id),
  FOREIGN KEY (id_b) REFERENCES my_table (id)
);
于 2012-12-15T11:28:21.903 に答える
0

自己結合を検索すると、簡単な Google で必要な答えが得られるはずです。

于 2012-12-15T11:29:02.040 に答える
0

関係が多対多の場合 (つまり、各ユーザーが他の多くのユーザーへのリンクを持っている場合)、これを行う最善の方法は、関係をリストした 2 番目のテーブルを使用することです。

user_links (
    user_a_id int not null,
    user_b_id int not null,
    PRIMARY KEY(user_a_id, user_b_id)
)

Database Normalizationを読みたいと思うかもしれません。

于 2012-12-15T11:30:30.683 に答える