Presque toutes les informations que j'avais besoin d'une base de données, je pouvais trouver dans Information_schema
Cette fois, je devais lire des détails sur i peut faire comme sur Supprimer, sur la mise à jour code> p>
show créer une table code> pour toutes les tables individuelles. Mais existe-t-il un moyen d'obtenir ces détails via une question de sélection comme celle-ci? P>
SELECT CONSTRAINT_NAME, TABLE_NAME,COLUMN_NAME, REFERENCED_TABLE_NAME,
REFERENCED_COLUMN_NAME FROM information_schema.`KEY_COLUMN_USAGE` WHERE
table_schema = 'mydbname' AND referenced_column_name IS NOT NULL
4 Réponses :
Si vous recherchez (primaire | étrangère | unique) clés: p>
http://dev.mysql.com/ DOC / REFMAN / 5.5 / FR / TABLE-CONTRAINTS-TABLE.HTML P>
Merci pour la réponse. Où je sais loin, sur Supprimer et sur la mise à jour code> est utilisé avec
contraintes de clé étrangère code> par exemple. E.G.
sur Supprimer cascade code>. Les déclencheurs ont une syntaxe comme
avant de supprimer code> ou
après la mise à jour code> et non
sur la mise à jour code>. Je suis juste à la recherche de
sur la mise à jour et sur Supprimer code> utilisé avec des clés étrangères comme
Contraintes d'intégrité référentielle code>
update strong> à partir de informations_schema.reférentialien_constraints code> Table Ajouter dans mysql 5.1 strong> MYSQL-5.1 Nous pouvons obtenir des informations sur toutes les contraintes **. La réponse acceptée donne la solution en tant que requête. P>
show créer une table code> pour une table individuelle. P>
Maintenant, vous pouvez trouver des détails de la contrainte de clé étrangère dans le tableau Information_schema.reférentialien_constraints P>
http://dev.mysql.com /doc/refman/5.5/fr/reférential-ConstraintS-Table.html P>
C'est un peu trop tard, mais cela pourrait aider quelqu'un d'autre, ici la solution: P> update_rule code> et
delete_rule code> est la chose que vous avez demandée
Exactement ce que j'ai demandé et serait utile pour les autres
Vous devriez utiliser "sur tb1.constraintore_name = tb2.constraint_name et tb1.table_schema = tb2.constraint_schema et tb1.table_name = tb2.table_name" Pour la joindre comme nom de contrainte n'est pas unique
Avez-vous essayé la colonne
supplémentaire code>?
@njk il n'existe pas dans
key_column_usage code>.
Il existe dans la table de colonnes. Je l'avais essayé mais j'ai maintenant un coup d'œil pour ces détails, mais il contient simplement des informations sur Auto_Increment et non pour ces contraintes.
La documentation indique qu'il devrait y avoir une table
informations_schema.reférentialien_constraints code>. Mais je ne le vois pas.
@Barmar Je me rends compte que je suis en retard à la fête, mais je viens de vérifier et
référential_constraints code> apparaît à la version 5.6.17 pour moi. Les docs disent que cela a été ajouté au 5.1.10, peut-être que vous utilisiez une version plus ancienne?
@ m. Ressemble à un problème de sensibilité de cas. La table est
référential_constraints code>, je cherchais
référential_constraints code>.
@Barmar Ah, bien sûr, toutes les tables d'informations_schema sont majuscules, mais depuis que j'utilise Navicat, cela ne m'a pas fait de différence pour moi.