是否可以确定由外键链接的表?

时间:2010-09-15 19:04:18

标签: sql mysql foreign-keys innodb

我有一个包含外键的表,我知道该外键的列名。

是否可以使用此信息确定该密钥链接的表?

原因是外键是动态的,所以我无法提前确定链接表。

3 个答案:

答案 0 :(得分:2)

如果您使用的是MySQL 5.1或更高版本,则可以使用REFERENTIAL_CONSTRAINTS table from information schema。类似的东西:

select references_table_name
  from referential_constraints
 where table_name = 'your_table';

答案 1 :(得分:1)

SELECT CONSTRAINT_NAME, ORDINAL_POSITION, COLUMN_NAME, REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME
FROM information_schema.KEY_COLUMN_USAGE
WHERE
TABLE_NAME = 'table_name' AND
TABLE_SCHEMA = 'database_name' AND
REFERENCED_TABLE_SCHEMA = 'database_name';
当你有复合键时,

ORDINAL_POSITION可能会很有用。

答案 2 :(得分:0)

select referenced_table_name, referenced_column_name
 from information_schema.key_column_usage
where table_name = 'Yourtable' and column_name='id'