
MySQL创建有外键的表,有一些注意事项,下面就为您介绍一些和MySQL创建有外键的表相关的问题,供您参考学习之用。
创建以下数据库表:
- CREATE TABLE `roottb` (
- `id` INT(11) UNSIGNED AUTO_INCREMENT NOT NULL,
- `data` VARCHAR(100) NOT NULL DEFAULT '',
- PRIMARY KEY (`id`)
- ) TYPE=InnoDB;
- CREATE TABLE `subtb` (
- `id` INT(11) UNSIGNED AUTO_INCREMENT NOT NULL,
- `rootid` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `data` VARCHAR(100) NOT NULL DEFAULT '',
- PRIMARY KEY (`id`),
- INDEX (`rootid`),
- FOREIGN KEY (`rootid`) REFERENCES roottb(`id`) ON DELETE CASCADE
- ) TYPE=InnoDB;
MySQL创建有外键的表要注意的:
1、只有InnoDB引擎才允许使用外键,所以数据库必须使用InnoDB引擎;
2、外键必须建立索引(INDEX),否则出现以下错误:
SQL执行错误#1005.从数据库的响应:
Can’t create table (errno: 150)。
【编辑推荐】
MySQL遍历数据表的方法
MySQL批量导入数据的实现
php mysql创建临时表
mysql快速建表的方法
深入研究MySQL删除多表数据
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/252927.html<