温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

给mysql数据库设置外键的两种方法

发布时间:2020-05-13 11:55:17 来源:亿速云 阅读:400 作者:三月 栏目:数据库

下面讲讲关于给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数据库设置外键的两种方法相关内容,大家还有什么不明白的地方吗?或者想要了解更多相关,可以继续关注我们的行业资讯板块。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI