mysql如何设置外码
时间: 2023-10-13 08:28:24 浏览: 72
MySQL 中设置外键需要满足以下条件:
1. 子表必须有一个与父表关联的字段,该字段的数据类型必须与父表中被引用字段的数据类型一致。
2. 子表中的外键字段必须添加约束,约束的名称可以自定义。
3. 父表中被引用的字段必须有索引,否则会抛出错误。
下面是一个示例:
首先创建一个父表:
```
CREATE TABLE `parent` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
```
然后创建一个子表:
```
CREATE TABLE `child` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`parent_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT `fk_parent_id` FOREIGN KEY (`parent_id`) REFERENCES `parent` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
```
在子表中添加了一个名为 `fk_parent_id` 的外键约束,用于将 `child` 表中的 `parent_id` 字段与 `parent` 表中的 `id` 字段关联起来。并且约束指定了级联删除和级联更新的操作。