首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL MyISAM如何查看进出表或列的所有外键?

问MySQL MyISAM如何查看进出表或列的所有外键?
EN

Stack Overflow用户
提问于 2019-04-08 18:09:52
回答 1查看 216关注 0票数 0

如何从用MySQL构建的MyISAM数据库中获取指向(和来自)特定表和/或特定列的所有外键约束的列表?这与this InnoDB question相同,但MyISAM特定于MySQL。

考虑一下规范的航空公司数据集。当我根据链接问题的接受答案(TO)和Node的答案(FROM)运行以下两个查询时,我的结果是空集。

显示指向“mytable”的所有外键

代码语言:javascript
复制
SELECT 
  TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME, REFERENCED_TABLE_SCHEMA, REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME
FROM
  INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE
  REFERENCED_TABLE_SCHEMA = 'airlines' AND  -- <database>
  REFERENCED_TABLE_NAME = 'airports';  -- <table> flights, carriers, planes

显示指向“mytable”的所有外键

代码语言:javascript
复制
SELECT * FROM information_schema.TABLE_CONSTRAINTS 
WHERE information_schema.TABLE_CONSTRAINTS.CONSTRAINT_TYPE = 'FOREIGN KEY' 
AND information_schema.TABLE_CONSTRAINTS.TABLE_SCHEMA = 'airlines'
AND information_schema.TABLE_CONSTRAINTS.TABLE_NAME = 'carriers';

我是不是误认了REFERENCED_TABLE_SCHEMA?这个查询只在InnoDB中工作吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-08 19:01:17

https://dev.mysql.com/doc/refman/8.0/en/myisam-storage-engine.html说:

外键支持:否

这几天不建议使用MyISAM。显然,MySQL正在逐步淘汰它。

还请参阅我对MyISAM versus InnoDB的回答,以获得一个很好的演示,说明为什么我们都应该避免使用MyISAM。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55579362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档