Mysql
 sql >> база данни >  >> RDS >> Mysql

Разберете дали дадена таблица има DELETE на CASCADE

да. Просто потърсете 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql връщане на името на таблицата

  2. Mysql автоматично добавяне на префикси към полета

  3. Как мога да добавя колона към работна таблица с помощта на нова съхранена процедура

  4. Причини за MySQL грешка 2014 Не може да се изпълняват заявки, докато други небуферирани заявки са активни

  5. Как да проверя дали колона е празна или нула в MySQL?