2011-11-02 49 views
0

是否有任何命令来查找Mysql中的表中的所有外键以及它引用的父表中的所有外键?Mysql外键视图

我使用的MySQL版本3.23.54a-11

+0

我误解了你的问题的版本号,并认为我看到了5.x没有的地方。如果可能,我不知道如何从3.x中检索元数据。 –

+0

好的...然后还有别的东西可以帮助我。我在vmware工作站ace版上安装了rhl 9。在这个rhl 9我有mysql 3.23.54a-11。我想将这个mysql3.23.54a-11升级到mysql 5.0。你能建议一步一步来做这件事吗?我无法使用运行在VMware上的rhl 9连接到互联网。有没有办法为mysql 5.0下载rpm,然后通过安装rpm包来简单升级......? – qre0ct

回答

1

注意这只能为MySQL 5.0和更高版本。它不适用于OP的3.23版本。但我将为未来的访问者留下答案。

此信息位于information_schema.KEY_COLUMN_USAGE表中。

USE information_schema; 

SELECT 
CONSTRAINT_NAME, 
TABLE_CATALOG, 
TABLE_NAME, 
COLUMN_NAME, 
REFERENCED_TABLE_NAME, 
REFERENCED_COLUMN_NAME 
FROM KEY_COLUMN_USAGE 
WHERE 
    TABLE_NAME='yourtable' 
    AND CONSTRAINT_SCHEMA='yourdatabase' 
    -- For FK's only... 
    AND REFERENCED_TABLE_NAME IS NOT NULL; 
+0

THANX为您的答复。但我害怕,这是行不通的。我没有名为information_schema的数据库。因此使用information_schema不起作用。我使用的是MySQL 3.23.54。请抛出一些光。 – qre0ct

+0

好的...然后还有别的东西可以帮助我。我在vmware工作站ace版上安装了rhl 9。在这个rhl 9我有mysql 3.23.54a-11。我想将这个mysql3.23.54a-11升级到mysql 5.0。你能建议一步一步来做这件事吗?我无法使用运行在VMware上的rhl 9连接到互联网。有没有办法为mysql 5.0下载rpm,然后通过安装rpm包来简单升级......? – qre0ct

+0

@ user980153 RH9已经过时很多年了,它不再被支持。除非它不是升级操作系统的选项,否则您应该升级到RHEL6(付费支持)或CentOS6(免费)。由于库不兼容,我怀疑你可以在8年前的Linux发行版上运行MySQL5。 –