2013-04-12 1 views
0

J'ai besoin de trouver et corriger toutes les clauses onDelete de clés étrangères, sur une base de données MySQL, car tous sont maintenant par défaut RESTRICT.Comment trouver toutes les clauses onDelete avec la valeur 'Restreindre' d'une base de données?

Est-ce que cela peut être fait par une requête MySQL?

au moins de trouver toutes les clés étrangères

mise à jour après @peterm réponse:

SELECT * FROM information_schema.`REFERENTIAL_CONSTRAINTS` 
WHERE CONSTRAINT_SCHEMA = '%database_name%' AND delete_rule = 'RESTRICT'; 

Répondre

0

Pour trouver toutes les clés étrangères dans une table de base de données, vous pouvez vouloir essayer la requête SQL suivante :

use INFORMATION_SCHEMA; 

select TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, 
REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME from KEY_COLUMN_USAGE where 
REFERENCED_TABLE_NAME = '<mytable>'; 

Ou vous pouvez également essayer d'exécuter la requête suivante pour montrer comment la table a été créée:

SHOW CREATE TABLE <mytable>; 
Questions connexes