MySql查询浏览器:alter table for foreign key

时间:2012-07-26 13:18:53

标签: mysql sql database-design orm entity-relationship

如何让message_id成为外键,以便它在评论和消息之间是一对多的? (一条消息可以有很多评论。)

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查询浏览器并查看:

enter image description here

虽然我可以从查询浏览器或命令行输入SQL,但我对它并不熟悉。如果可能的话,我更愿意使用GUI查询浏览器。

1 个答案:

答案 0 :(得分:2)

应该做的诀窍:

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

正如人们从阅读MySQL documentation所知道的那样。