资源描述:
《实例讲解mysql数据库中应如何建立外键》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实例讲解MySQL数据库中应如何建立外键[摘要]在MySQL数据库中建立外键示例,包含主表,表cotton等。[关键字]MySQL实例讲解建立外键 在MySQL数据库中建立外键: 示例: 1.主表 DROPTABLEIFEXISTS`biao`; CREATETABLE`biao`( id`int(11)NOTNULLauto_increment, title`varchar(11)defaultNULL, content`varchar(11)defaultNULL, PRIMARYKEY(`id`)
2、 )ENGINE=InnoDBDEFAULTCHARSET=gb2312; 2.表cotton 关系是1:N。 droptablecotton; createtablecotton( idintprimarykey, uservarchar(11), emailvarchar(11), urlvarchar(11), contentvarchar(11), addTimedate, biao_idint, constraintFK_biao_idforeignkey(blog_id)referenc
3、esbiao(id) )ENGINE=InnoDBDEFAULTCHARSET=gb2312; (注释:一定要记住varchar(11),否则可能就会出现错误,从已有表导出sql才看以出)。 此sql语句用sql-front导出后的结果是: DROPTABLEIFEXISTS`comment`; CREATETABLE`comment`( `id`int(11)NOTNULL, `user`varchar(11)defaultNULL, `email`varchar(11)defaultNULL, `ur
4、l`varchar(11)defaultNULL, `content`varchar(11)defaultNULL, `addTime`datedefaultNULL, `blog_id`int(11)defaultNULL, PRIMARYKEY(`id`), KEY`FK_blog_id`(`blog_id`) )ENGINE=InnoDBDEFAULTCHARSET=gb2312; ALTERTABLE`comment` ADDFOREIGNKEY(`blog_id`)REFERENCES`blog`
5、(`id`);【责任编辑陈东方】http://www.enet.com.cn/article/2008/0325/A20080325196268.shtmlmysql如何建立外键约束??[引用2006-11-0314:44:11] 字号:大中小首先,目前在产品环境可用的MySQL版本(指4.0.x和4.1.x)中,只有InnoDB引擎才允许使用外键,所以,我们的数据表必须使用InnoDB引擎。下面,我们先创建以下测试用数据库表:CODE:[Copytoclipboard]CREATETABLE`roottb`(`id`I
6、NT(11)UNSIGNEDAUTO_INCREMENTNOTNULL,`data`VARCHAR(100)NOTNULLDEFAULT'',PRIMARYKEY(`id`))TYPE=InnoDB;CREATETABLE`subtb`(`id`INT(11)UNSIGNEDAUTO_INCREMENTNOTNULL,`rootid`INT(11)UNSIGNEDNOTNULLDEFAULT'0',`data`VARCHAR(100)NOTNULLDEFAULT'',PRIMARYKEY(`id`),INDEX(`root
7、id`),FOREIGNKEY(`rootid`)REFERENCESroottb(`id`)ONDELETECASCADE)TYPE=InnoDB;注意:1、必须使用InnoDB引擎;2、外键必须建立索引(INDEX);3、外键绑定关系这里使用了“ONDELETECASCADE”,意思是如果外键对应数据被删除,将关联数据完全删除,更多信息请参考MySQL手册中关于InnoDB的文档;好,接着我们再来插入测试数据:CODE:[Copytoclipboard]INSERTINTO`roottb`(`id`,`data`)VA
8、LUES('1','testrootline1'),('2','testrootline2'),('3','testrootline3');INSERTINTO`subtb`(`id`,`rootid`,`data`)VALUES('1','1','testsubline1forroot1'),('2'