Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Dowiedz się, czy tabela ma DELETE na CASCADE

TAk. Po prostu zapytaj INFORMATION_SCHEMA

SELECT * FROM information_schema.REFERENTIAL_CONSTRAINTS

A dokładniej

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

Przeczytaj więcej o REFERENTIAL_CONSTRAINTS tabela w instrukcji



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dlaczego w MySQL można bezpiecznie wyłączyć innodb_support_xa dla aktualizacji jednowątkowych?

  2. MySQL TIMEDIFF() vs TIMESTAMPDIFF():jaka jest różnica?

  3. Czy istnieje narzędzie do analizy statycznej do identyfikacji iniekcji sql dla php/mysql?

  4. Node.js MySQL wymaga trwałego połączenia

  5. Czy możemy mieć nazwę tabeli jako opcję w MySQL?