我们要进行删除外键时,需要知道外键的名字,那么如何查看数据库外键呢?有2种方式查看: 1.过查看表的方式查看外键名字; 2.通过mysql自带的系统表查看外键。
更多精彩请访问本文源地址: /zixiao217
先来看一下创建外键的方式:
创建外键的方式
更多精彩请访问本文源地址: /zixiao217
方式一: 在创建表的时候同时指定外键名字
create database fundb;USE fundb;-- 创建用户表CREATE TABLE `t_user` (`uid` int(11) PRIMARY KEY AUTO_INCREMENT,`uname` varchar(40) DEFAULT NULL,`age` int(11) DEFAULT NULL) ;-- 创建数学成绩表CREATE TABLE `t_score_math` (`uid` int(40) DEFAULT NULL,`score` double DEFAULT NULL,CONSTRAINT `f_uk` FOREIGN KEY (`uid`) REFERENCES `t_user` (`uid`)) ;
方式二:在建表后,对表修改进行添加外键
create database fundb;USE fundb;-- 创建用户表CREATE TABLE `t_user` (`uid` int(11) PRIMARY KEY AUTO_INCREMENT,`uname` varchar(40) DEFAULT NULL,`age` int(11) DEFAULT NULL) ;-- 创建数学成绩表CREATE TABLE `t_score_math` (`uid` int(40) DEFAULT NULL,`score` double DEFAULT NULL) ;-- 对表添加外键 指定外键名字: f_mykeyalter table t_score_math add constraint f_mykey -- 该行省略的话,则会自动添加一个名字foreign key (uid) references t_user(uid);
查看外键名字的方式
方式一:通过查看表的方式查看外键名字
SHOW CREATE TABLE `t_score_math`;
得到以下结果:
建表语句内容如下:
CREATE TABLE `t_score_math` (`uid` int(40) DEFAULT NULL,`score` double DEFAULT NULL,KEY `f_mykey` (`uid`),CONSTRAINT `f_mykey` FOREIGN KEY (`uid`) REFERENCES `t_user` (`uid`)) ENGINE=InnoDB DEFAULT CHARSET=utf8
可以得到外键的名字: f_mykey;
方式二:通过mysql自带的系统表查看外键
SELECT * FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE constraint_schema = 'fundb' AND table_name = 't_score_math';
结果如下,也可以查看到外键的名字: