Bonjour,
Voilà, j'ai MySQL 5.1.37-1ubuntu5 et j'ai un soucis entre 2 tables
CREATE TABLE IF NOT EXISTS `Guildes` (
`IDGuilde` int(1) NOT NULL,
`Nom` varchar(50) NOT NULL,
`DroitPublication` int(1) NOT NULL,
`IDPersonnage` int(1) NOT NULL,
`IDServeur` int(1) NOT NULL,
PRIMARY KEY (`IDGuilde`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `GuildeAmie` (
`IDGuilde1` int(1) NOT NULL,
`IDGuilde2` int(1) NOT NULL,
`Guilde1` tinyint(1) NOT NULL,
`Guilde2` tinyint(1) NOT NULL,
PRIMARY KEY (`IDGuilde1`,`IDGuilde2`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Ce que j'aimerai faire c'est qu'il est impossible d'insérer un IDGuilde dans la table GuildeAmie, si celle si n'existe pas dans la table Guilde.
J'ai utilisé pour cela le Foreign Key donc cette commande :
et voici la réponse (sur phpmyadmin)
Code : Sélectionner tout - Visualiser dans une fenêtre à part ALTER TABLE `GuildeAmie` ADD FOREIGN KEY ( `IDGuilde1` ) REFERENCES `GuildeAmie` ( `IDGuilde1` )
Mais lorsque j'insère des données erronées dans GuildeAmie... il accepte, alors que je ne veux pas justement.Votre requête SQL a été exécutée avec succès ( Traitement en 0.0495 sec. )
Est-ce que je me suis trompé dans mon raisonnement ? Est-ce que j'ai pas tout mis ? Est-ce que ca n'existe pas dans MySQL ? .. je ne sais pas.
Merci pour vos réponses.
Partager