clé étrangère dans MySql

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : clé étrangère dans MySql

par artotal » 15 oct. 2006, 18:52

Encore une fois merci pour ta pertinence.

par Cyrano » 15 oct. 2006, 17:42

Tu peux très bien avoir des clés étrangères dans tes tables MyISAM, mais au lieu d'un index FOREIGN KEY, mets un index KEY tout court. Ce que tu ne pourras de toutes façons pas activer dans des tables MyISAM, c'est l'intégrité référentielle qui t'interdirait de supprimer des lignes d'une tables si elles sont référencées par des clés étrangères dans d'autres tables.

La clé étrangère n'est jamais autre chose qu'un point de repère qui permet de lier des données entre elles entre plusieurs tables. Il faut pas vraiment chercher plus loin.

par artotal » 15 oct. 2006, 16:49

Oui, c'est se que je viens de voir/
http://dev.mysql.com/doc/refman/5.0/fr/ ... y-key.html
J'ai pas tiker comment faire des jointures si je ne peux pas utilisez les clés étrangère dans myISAM, rapport direct avec ton tuto sur les jointures ! Que je comprend.
Je n'arrive pas à cerner réellement les contours du sujets des clé etrangère, sa me rend amer de ne pas tiker les FK, alors que les jointures sont acquis.
<¿ ♫ ♫ ♫ ♫ ♫ ♫ ♫ ♫ ♫ ¿>

par Cyrano » 15 oct. 2006, 16:39

Non. Un index UNIQUE définit l'interdiction de doublons, ce qui ne correspond pas à une clé étrangère. D'autre part, l'index FOREIGN KEY ne s'applique pas vraiment avec des tables MyISAM, même si ça ne pose pas de problème, c'est toutefois prévu pour des tables InnoDB.

clé étrangère dans MySql

par artotal » 15 oct. 2006, 16:33

Bonjour,
Dans MySql j'ai une table avec une clé étrangère avec une notation differente de se que j'ai vu jusqu'a present (livre, site...) !
UNIQUE KEY au lieu de foreign key ou clé étrangère ?
► Est ce bien une clé étrangère ?

Code : Tout sélectionner

CREATE TABLE `pages` ( `page` varchar(20) collate latin1_general_ci NOT NULL default '', `description` text collate latin1_general_ci NOT NULL, PRIMARY KEY (`page`), UNIQUE KEY `page` (`page`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
Merci