繁体   English   中英

如何在MySQL中看到外键的ON DELETE和ON UPDATE?

[英]How do I see the ON DELETE and ON UPDATE for a foreign key in MySQL?

我正在使用此查询来查找外键关系:

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

它满足了我的大部分需求,但我缺少的两个领域是

  1. 更新时
  2. 删除时

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

您可以使用包含以下列的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

在这里 ,在文档中。

您没有说,但是我想您正在寻找可以以编程方式访问的内容?

如果没有,我很确定SHOW CREATE TABLE ? 将为您提供所需的所有信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM