sql >> データベース >  >> RDS >> Mysql

テーブルにCASCADEでDELETEがあるかどうかを確認します

    はい。 INFORMATION_SCHEMAをクエリするだけです

    SELECT * FROM information_schema.REFERENTIAL_CONSTRAINTS
    

    またはより具体的に

    -- This query will list all constraints, their delete rule, 
    -- the constraint table/column list, and the referenced table
    SELECT 
      r.CONSTRAINT_NAME,
      r.DELETE_RULE, 
      r.TABLE_NAME,
      GROUP_CONCAT(k.COLUMN_NAME SEPARATOR ', ') AS `constraint columns`,
      r.REFERENCED_TABLE_NAME
    FROM information_schema.REFERENTIAL_CONSTRAINTS r
      JOIN information_schema.KEY_COLUMN_USAGE k
      USING (CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME)
    -- using MySQL's GROUP BY clause. In other DB's more columns would need to be
    -- specified!
    GROUP BY r.CONSTRAINT_CATALOG,
             r.CONSTRAINT_SCHEMA,
             r.CONSTRAINT_NAME
    

    REFERENTIAL_CONSTRAINTS> マニュアルの表



    1. Javaを使用して、データベースの最大IDに従って次のIDを生成します

    2. 壁を壊せ!データのサイロ化を解除する方法

    3. MySQLトリガー/ストアドプロシージャからシェルスクリプト/コマンドを実行します

    4. MySQLとPHPを使用してデータベースにタグを保存する方法は?