2010-11-26 3 views
1

Ai-je besoin d'attribuer une clé étrangère dans MySQL?Les clés étrangères sont-elles obligatoires dans MySQL?

(Navicat for MySQL, PHP, je suis la programmation d'un réseau social pour l'amour de plaisir)

+5

Vous n'avez rien à faire. Nous avons besoin de plus de détails .. – cambraca

+1

Quel est le but de la clé étrangère? Je pensais que c'est un concept imaginaire. – ilhan

+0

Intégrité des données par exemple? Y compris cascade pour les mises à jour et les suppressions ... – Lucero

Répondre

6

Voir cette http://www.databasejournal.com/features/mysql/article.php/2248101/Referential-Integrity-in-MySQL.htm

Vous pouvez 'définir' une clé étrangère dans tout type de table MySQL (y compris le type de table MyISAM ), mais ils ne font rien - ils sont seulement utilisé pour appliquer l'intégrité référentielle dans les tables InnoDB.

L'OP devrait être excusé pour penser qu'il s'agit d'un concept «imaginaire».

+0

+1 @fredt, belle trouvaille - seulement parce que cela ferait en sorte que quelqu'un qui n'a pas une connaissance approfondie de la mécanique des bases de données pense que les clés étrangères n'ont aucune utilité pratique. – IAbstract

+2

Note mineure. Ce n'est pas la mécanique de base de données; C'est l'échelon inférieur, la mécanique de la base de données freeware. – PerformanceDBA