我们要进行删除外键时,需要知道外键的名字,那么如何查看数据库外键呢?有2种方式查看: 1.过查看表的方式查看外键名字; 2.通过mysql自带的系统表查看外键。
先来看一下创建外键的方式:
更多精彩请访问本文源地址: https://blog.csdn.net/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_mykey
alter table t_score_math add
constraint f_mykey -- 该行省略的话,则会自动添加一个名字
foreign key (uid) references t_user(uid);
方式一:通过查看表的方式查看外键名字
SHOW CREATE TABLE `t_score_math`;
得到以下结果:
Table | 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';
结果如下,也可以查看到外键的名字: