mysql查询某张表的外键

mysql和oracle一样也是有数据字典表的,是存在单独的一个库叫INFORMATION_SCHEMA,要查看某张表的外键要从字典表中查找

如mysql查询某张表的外键,可以用下面的方式查询

use INFORMATION_SCHEMA;

select TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME from KEY_COLUMN_USAGE where table_name = ‘logistics_member_express‘;

+--------------------------+-----------------+----------------------------+------------------------+------------------------+

| TABLE_NAME               | COLUMN_NAME     | CONSTRAINT_NAME            | REFERENCED_TABLE_NAME  | REFERENCED_COLUMN_NAME |

+--------------------------+-----------------+----------------------------+------------------------+------------------------+

| logistics_member_express | id              | PRIMARY                    | NULL                   | NULL                   |

| logistics_member_express | express_user_id | Reflogistics_express_user6 | logistics_express_user | id                     |

+--------------------------+-----------------+----------------------------+------------------------+------------------------+

2 rows in set (0.00 sec)

如果某个外键不要的话就可以删除啦:

ALTER TABLE logistics_member_express DROP FOREIGN KEY  Reflogistics_express_user6;

时间: 2024-12-13 00:02:29

mysql查询某张表的外键的相关文章

子账号表的设计(不用递归实现查询,同一张表做外键)

最近公司在做<资管系统>账号管理部分需要得到所有子账号.父账号等等信息.个人觉得用递归查询比较繁琐,于是设计了以下表 关键字段:账号id,父账号.顶级账号.账号层次(也就是树的级别). 查询思路:查找顶级账号用层这个字段直接搞定 查找某个账号的子账号用该账号的顶级账号和层搞定 查找父账号用该账号的顶级账号和层搞定 设计难点:一张表外键关联到自己.添加修改删除时对数据的有效性有很大的保障 提供源码(包含查询方法),需要其他字段自行增加 (勿喷) 表和数据 -- -----------------

怎么给一张表添加外键(四种方法)

添加外键约束名字一定不能重复如何添加外键方法一:直接在属性值后面添加 create table score( cscore int(11), st_id int(50) references student(id), cs_id int(30) references classes(id), primary key(st_id,cs_id) ); 方法二: create table score( cscore int(11), st_id int(50), cs_id int(30), prim

mysql 触发器实现级联删除有外键的多张表

2019-10-12 10:17:44 1.数据,建表时有可能会报错,只需要把前三行注释删掉就行 -- ---------------------------- -- Table structure for tb_grade -- ---------------------------- DROP TABLE IF EXISTS `tb_grade`; CREATE TABLE `tb_grade` ( `grade_id` int(11) NOT NULL AUTO_INCREMENT, `g

mysql为表添加外键完成性约束 报错Can&#39;t create table &#39;sfkbbs.#sql-513_25&#39; (errno: 150)

代码 alter table sfk_son_module add constraint foreign key(father_module_id) references sfk_father_module(id) on delete restrict on update restrict; (constraint 后面可以加上约束名字) 错误原因是之前两张表的id的类型不一样,一个时int,一个时bigint 解决办法时修改表, alter table sfk_father_module mo

mysql的父子表,外键约束

在MySQL 3.23.44版本后,InnoDB引擎类型的表支持了外键约束.外键的使用条件:1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持):2.外键列必须建立了索引,MySQL 4.1.2以后的版本在建立外键时会自动创建索引,但如果在较早的版本则需要显示建立: 3.外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,而int和char则不可以: 外键的好处:可以使得两张表关联,保证数据的一

mysql左连接右连接(查询两张表不同的数据)

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 :right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录:inner join(等值连接) 只返回两个表中联结字段相等的行: 表A数据: 表B数据: 1.查询两张表中都有的记录: sql: SELECT a.* FROM a INNER JOIN b ON a.a_id = b.b_id; 2.查询表A中有,表B中没有的数据: sql: SELECT a.* FROM a LEFT JO

oracle主从表主外键对应关系

一.首先让我们来了解下什么是主外键? 1.主键:唯一标识数据表中的某一行 1) 一个表中只能有一个主键.如果在其他字段上建立主键,则原来的主键就会取消.在ACCESS中,虽然主键不是必需的,但最好为每个表都设置一个主键. 2)主键的值不可重复,也不可为空(NULL).主关键字是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义. 3)主键的创建:在建置新表格时设定主键的方式 MySQL:  CREATE TABLE Customer (SID integer,La

表有外键所以delete报错了,这里有2种办法处理:

表有外键所以delete报错了,这里有2种办法处理: (1)      临时设置外键失效 (2)      删除表涉及到的外键的表的数据 2.外键失效的处理方案 mysql> SET FOREIGN_KEY_CHECKS = 0;  # 临时设置外键失效 Query OK, 0 rows affected (0.00 sec) mysql> mysql> delete from JBPM4_EXECUTION;  #执行删除操作 Query OK, 110 rows affected (

MySQL基础day03 存储引擎和外键MySQL 5.6

MySQL基础day03_存储引擎和外键-MySQL 5.6 外键的条件: 1,表的存储引擎为innodb存储引擎 2,表中外键字段的类型要与参考表的字段类型一致 3,外键字段要是索引类型中的一种 MySQL数据库的存储引擎 存储引擎:是mysql结构中的组成部分 mysql体系结构: 由8部分组成:连接池.Sql接口.分析器.优化器.缓存和缓冲.存储引擎.管理工具.物理存储设备 1.客户端:mysql 2.连接器: NativeC API 本地C语言接口.JDBCJAVA的数据库连接器.ODB