能否帮我举个mysql一对多创建表的例子
时间: 2023-07-25 19:27:14 浏览: 153
mysql创建表的实例附答案分享.pdf
当一个表中的一条记录关联到另一个表中的多条记录时,就可以使用一对多的关系来表示这种关联。下面是一个 MySQL 创建一对多关系的例子:
我们以一个博客系统为例,假设我们有两个表,一个是博客文章表,一个是博客评论表。一个博客文章可以有多个评论,但一个评论只能属于一篇文章。
首先我们创建文章表:
```sql
CREATE TABLE `article` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`content` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
```
然后我们创建评论表:
```sql
CREATE TABLE `comment` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`article_id` int(11) NOT NULL,
`content` text NOT NULL,
PRIMARY KEY (`id`),
KEY `article_id` (`article_id`),
CONSTRAINT `comment_article_fk` FOREIGN KEY (`article_id`) REFERENCES `article` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
```
在评论表中,我们创建了一个外键 `article_id`,它指向了文章表中的 `id` 字段。这样我们就可以通过 `article_id` 来将评论和文章关联起来。
注意,在创建外键时,我们使用了 `FOREIGN KEY` 和 `REFERENCES` 关键字来指定外键的参考表和参考字段。同时,我们还创建了一个名为 `comment_article_fk` 的外键约束,以确保在删除文章时,与之相关的评论也会被删除。
以上就是 MySQL 中创建一对多关系的例子。
阅读全文