簡體   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