2014-11-22 85 views
0

我使用这个查询来查找外键关系:如何在MySQL中查看外键的ON DELETE和ON UPDATE?

SELECT * 
FROM `information_schema`.`KEY_COLUMN_USAGE` 
WHERE `REFERENCED_TABLE_SCHEMA` = ? AND 
     `TABLE_NAME` = ? AND 
     `REFERENCED_TABLE_NAME` IS NOT NULL 

它给我的大部分我需要什么,但是这两个领域我缺少的是对更新

    1. 上删除

    如何在外键约束上找到这些属性?

  • 回答

    1

    您可以使用INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS表有以下栏目:

    CONSTRAINT_CATALOG  
        CONSTRAINT_SCHEMA   
        CONSTRAINT_NAME  
        UNIQUE_CONSTRAINT_CATALOG  
        UNIQUE_CONSTRAINT_SCHEMA   
        UNIQUE_CONSTRAINT_NAME  
        MATCH_OPTION   
        UPDATE_RULE  
        DELETE_RULE  
        TABLE_NAME  
        REFERENCED_TABLE_NAME 
    

    通过加入对CONSTRAINT_SCHEMACONSTRAINT_NAME,你可以得到UPDATE_RULEDELETE_RULE

    Here,在文件中。

    +0

    谢谢!完美工作。 – 2014-12-05 22:42:05

    0

    你没有说,但我假设你正在寻找可以通过编程访问的东西?

    如果不是,我很确定SHOW CREATE TABLE ?会给你你正在寻找的所有信息。

    相关问题