猿问

如何查看表或列的所有外键?

如何查看表或列的所有外键?

在MySQL中,如何获得指向特定表的所有外键约束的列表?某一列?这和这个甲骨文问题,但是对于MySQL。



隔江千里
浏览 1129回答 3
3回答

白板的微信

表:SELECT&nbsp; &nbsp;&nbsp;TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,&nbsp;REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAMEFROM &nbsp;&nbsp;INFORMATION_SCHEMA.KEY_COLUMN_USAGEWHERE &nbsp;&nbsp;REFERENCED_TABLE_SCHEMA&nbsp;=&nbsp;'<database>'&nbsp;AND &nbsp;&nbsp;REFERENCED_TABLE_NAME&nbsp;=&nbsp;'<table>';列:SELECT&nbsp; &nbsp;&nbsp;TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,&nbsp;REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAMEFROM &nbsp;&nbsp;INFORMATION_SCHEMA.KEY_COLUMN_USAGEWHERE &nbsp;&nbsp;REFERENCED_TABLE_SCHEMA&nbsp;=&nbsp;'<database>'&nbsp;AND &nbsp;&nbsp;REFERENCED_TABLE_NAME&nbsp;=&nbsp;'<table>'&nbsp;AND &nbsp;&nbsp;REFERENCED_COLUMN_NAME&nbsp;=&nbsp;'<column>';基本上,我们在WHERE子句中用引用_Column_name更改了引用_TABLE_NAME。

动漫人物

正如注释中指出的,这并不是对OPS问题的正确回答,但是了解这个命令是有用的。这个问题出现在谷歌上是为了我想要的东西,我想我会把这个答案留给其他人去找。SHOW&nbsp;CREATE&nbsp;TABLE&nbsp;`<yourtable>`;我在这里找到了这个答案:MySQL:显示表命令上的约束我需要这样做,因为我想看看FK是如何运作的,而不是仅仅看看它是否存在。

莫回无

如果使用InnoDB并定义了FK,则可以查询Information_SCHEMA数据库,例如:SELECT&nbsp;*&nbsp;FROM&nbsp;information_schema.TABLE_CONSTRAINTS&nbsp; WHERE&nbsp;information_schema.TABLE_CONSTRAINTS.CONSTRAINT_TYPE&nbsp;=&nbsp;'FOREIGN&nbsp;KEY'&nbsp;AND&nbsp;information_schema.TABLE_CONSTRAINTS. TABLE_SCHEMA&nbsp;=&nbsp;'myschema'AND&nbsp;information_schema.TABLE_CONSTRAINTS.TABLE_NAME&nbsp;=&nbsp;'mytable';
随时随地看视频慕课网APP
我要回答