2011-02-18 67 views
0

建議GUI工具查看依賴對象數據庫MySQL。
例如:依賴項對象MySQL

USE db; 

CREATE TABLE t1(
    id INT(11) NOT NULL, 
    `column` INT(11) DEFAULT NULL, 
    UNIQUE INDEX id (id) 
); 

CREATE TABLE t2(
    id INT(11) NOT NULL, 
    `column` INT(11) DEFAULT NULL, 
    INDEX FK_t2_t1_id (`column`), 
    CONSTRAINT FK_t2_t1_id FOREIGN KEY (`column`) 
    REFERENCES t1 (id) ON DELETE RESTRICT ON UPDATE RESTRICT 
); 

CREATE TABLE t3(
    id INT(11) NOT NULL, 
    `column` INT(11) DEFAULT NULL, 
    INDEX FK_t3_t1_id (`column`), 
    CONSTRAINT FK_t3_t1_id FOREIGN KEY (`column`) 
    REFERENCES t1 (id) ON DELETE RESTRICT ON UPDATE RESTRICT 
); 

DELIMITER $$ 

CREATE DEFINER = 'root'@'localhost' 
PROCEDURE procedure1() 
BEGIN 
    SELECT 
    * 
    FROM 
    db.t1; 
END 
$$ 
DELIMITER ; 

我想看看哪些對象是指表T1。 在這個例子中,它是t2,t3和procedure1

+0

什麼?我不明白。 – 2011-02-18 15:32:26

+0

你有沒有發現過這樣的工具? – 2011-12-29 21:47:24

回答

1

你的問題並不清楚,但它聽起來像你正在尋找某種GUI工具來用MySQL進行數據建模。如果這是正確的,請嘗試查看MySQL Workbench

2

這很可能是你要找的。這些信息可以在information_schema中找到。

 SELECT pk.constraint_schema  AS PKDatabaseName 
      , pk.table_name    AS PKObjectName 
      , fk_cols.column_name  AS PKColumnName 
      , fk_cols.referenced_table_schema AS FKDatabaseName 
      , fk_cols.referenced_table_name AS FKObjectName 
      , fk_cols.referenced_column_name AS FKColumnName 
      , pk.constraint_name   AS ConstraintName 
      , fk_cols.ordinal_position AS ColumnIdx 
     FROM information_schema.table_constraints pk 
INNER JOIN information_schema.key_column_usage fk_cols 
     ON pk.constraint_schema = fk_cols.table_schema 
     AND pk.table_name  = fk_cols.table_name 
     AND pk.constraint_name = fk_cols.constraint_name 
     WHERE pk.constraint_type = 'FOREIGN KEY'