MySQL创建有外键的表需要注意的事项

数据库 MySQL
在MySQL数据库中,如果创建的表带有外键,那么就有一些问题值得我们注意,下面就让一起来了解一下。

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;  
 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.

MySQL创建有外键的表要注意的:

1、只有InnoDB引擎才允许使用外键,所以数据库必须使用InnoDB引擎;

2、外键必须建立索引(INDEX),否则出现以下错误:

SQL执行错误#1005.从数据库的响应:
Can't create table (errno: 150)。
 

 

 

【编辑推荐】

MySQL遍历数据表的方法

MySQL批量导入数据的实现

php mysql创建临时表

mysql快速建表的方法

深入研究MySQL删除多表数据

责任编辑:段燃 来源: 互联网
相关推荐

2011-05-26 17:37:11

Ajax

2010-04-22 12:07:37

Oracle Spat

2023-12-13 15:20:45

数据中心云计算人工智能

2015-08-19 15:33:41

布线技术

2011-08-08 15:06:36

布线综合布线智能家居

2011-07-21 15:40:24

iPhone 内存管理 对象

2010-10-08 09:38:42

mysql修改表

2009-06-10 15:36:25

ubuntu netb开发过程

2010-08-31 14:33:46

DB2游标

2019-07-29 14:27:44

MySQLWindows数据库

2023-08-25 10:49:37

数据中心服务器

2010-05-26 17:05:13

SVN提交

2012-04-16 10:16:07

云计算私有云IaaS

2020-05-26 16:25:05

云计算云迁移IT

2009-12-22 14:46:59

NAT路由器

2010-07-15 14:47:05

Perl开发

2010-02-25 10:04:33

MySQL执行SQL语

2017-05-10 17:00:22

灾难恢复云计算数据中心

2009-11-14 09:59:46

2013-09-29 10:36:08

VMware虚拟化
点赞
收藏

51CTO技术栈公众号