Procédures stockées et triggers <<< |
Les clés étrangères | Les vues >>> |
1.8.5 Différences entre MySQL et le standard SQL-92 1.8 Quels standards respecte MySQL? 1 Informations générales Manuel de Référence MySQL 4.1 : Version Française . Sous-requêtes . SELECT INTO TABLE . Transactions et opérations atomiques . Procédures stockées et triggers ->Les clés étrangères . Les vues . '--' comme début de commentaire |
1.8.5.5 Les clés étrangères
Notez que les clés en SQL ne sont pas utilisées pour joindre des tables, mais pour assurer l'intégrité référentielle (contraintes de clés étrangères). Si vous voulez obtenir des résultats issus de tables multiples avec une commande SELECT , vous allez joindre les tables comme ceci :
La syntaxe FOREIGN KEY dans la clause ON DELETE ... est principalement utilisée pour des raisons de documentation. Certaines applications ODBC peuvent utiliser cette clause pour produire des conditions WHERE automatiques, mais c'est généralement simple à éviter. FOREIGN KEY est parfois utilisé pour vérifier une contrainte, mais cette vérification n'est pas nécessaire en pratique, si les lignes sont insérées dans la table dans le bon ordre. Avec le serveur MySQL, vous pouvez contourner le problème de l'absence de la clause ON DELETE ... en ajoutant la commande DELETE appropriée dans l'application, lorsque vous effacez une ligne dans une table qui a une clé étrangère. En pratique, cette technique est aussi rapide (et même parfois plus rapide), et bien plus portable que l'utilisation des clés étrangères.Avec le serveur MySQL 4.0, vous pouvez utiliser les commandes d'effacement multi-tables pour effacer des lignes dans plusieurs tables en une seule commande. Syntaxe des DELETE . Dans un futur proche, nous allons étendre l'implémentation de la clause FOREIGN KEY pour que cette information soit stockée dans le fichier de spécification des tables et puisse être lu par mysqldump et ODBC. Dans une étape ultérieure, nous allons implémenter les contraintes de clé étrangère pour les applications qui ne peuvent pas être codées sans.Gardez bien en tête que les clés étrangères sont souvent méconnues, ce qui peut causer de graves problèmes. Même lorsqu'elles sont utilisées correctement, ce n'est pas une solution magique pour les problèmes d'intégrité référentielle, même si cela simplifie parfois les choses. Voici des avantages aux contraintes de clés étrangères :
|
<< | Les clés étrangères | >> |
Procédures stockées et triggers | Différences entre MySQL et le standard SQL-92 | Les vues |