给mysql数据库设置外键的两种方法
下面讲讲关于给MySQL数据库设置外键的两种方法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完给mysql数据库设置外键的两种方法这篇文章你一定会有所受益。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名、网站空间、营销软件、网站建设、泽普网站维护、网站推广。
1、在创建表时的操作
班级表(主表):
create table tb1( id INT PRIMARY KEY AUTO_INCREMENT, classname VARCHAR(20) NOT NULL );
用户表(子表):
create table tb2( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(20) NOT NULL, classid INT, FOREIGN KEY (classid) REFERENCES tb1(id) ON DELETE CASCADE ON UPDATE CASCADE );
----------------------------------------------------------------------------
2、在已有表的基础上添加外键
ALTER TABLE tb3 ADD CONSTRAINT T_C FOREIGN KEY (classid) REFERENCES tb1(id);
----------------------------------------------------------------------------
在之后可以用命令来查看创建表的操作,SHOW CREATE TABLE tb2;可以发现其中有这么一句话
PRIMARY KEY (`id`), KEY `classid` (`classid`), CONSTRAINT `tb2_ibfk_1` FOREIGN KEY (`classid`) REFERENCES `tb1` (`id`) ON DELETE CASCADE
说明外键已经成功创建了。
-----------------------------------------------------------------------------
另附说明:
CASCADE:从父表删除或更新且自动删除或更新子表中匹配的行。
SET NULL:从父表删除或更新行,并设置子表中的外键列为NULL。前提是保证该外键列不为NOT NULL。
RESTRICT:拒绝对父表的删除或更新操作。
对于以上给mysql数据库设置外键的两种方法相关内容,大家还有什么不明白的地方吗?或者想要了解更多相关,可以继续关注我们的行业资讯板块。
本文标题:给mysql数据库设置外键的两种方法
浏览路径:http://azwzsj.com/article/gjjphe.html