0

コメントとメッセージ間で 1 対多になるように、message_id を外部キーにするにはどうすればよいですか? (1 つのメッセージに複数のコメントを含めることができます。)

mysql> use nntp;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+----------------+
| Tables_in_nntp |
+----------------+
| comments       |
| messages       |
+----------------+
2 rows in set (0.00 sec)

mysql> describe comments;
+------------+---------+------+-----+---------+-------+
| Field      | Type    | Null | Key | Default | Extra |
+------------+---------+------+-----+---------+-------+
| id         | int(11) | NO   | PRI | NULL    |       |
| message_id | int(11) | NO   |     | NULL    |       |
| comment    | text    | NO   |     | NULL    |       |
| stamp      | date    | NO   |     | NULL    |       |
+------------+---------+------+-----+---------+-------+
4 rows in set (0.00 sec)

mysql> describe messages;
+-----------+---------+------+-----+---------+-------+
| Field     | Type    | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+-------+
| id        | int(11) | NO   | PRI | NULL    |       |
| newsgroup | text    | NO   |     | NULL    |       |
| subject   | text    | NO   |     | NULL    |       |
| content   | text    | NO   |     | NULL    |       |
| number    | text    | NO   |     | NULL    |       |
+-----------+---------+------+-----+---------+-------+
5 rows in set (0.00 sec)

mysql> quit
Bye
thufir@dur:~/NetBeansProjects/USENET$ 

MySql クエリ ブラウザを使用していますが、次のように表示されます。

ここに画像の説明を入力

クエリ ブラウザまたはコマンド ラインから SQL を入力できますが、あまり慣れていません。可能であれば、これには GUI クエリ ブラウザを使用したいと思います。

4

1 に答える 1

2

トリックを行う必要があります:

ALTER TABLE comments ADD FOREIGN KEY (message_id) REFERENCES messages(id);

MySQL のドキュメントを読むとわかるように。

于 2012-07-26T13:21:47.453 に答える