Mysql - Jointure en insert
Roukeuss
Messages postés
8
Statut
Membre
-
P@t@ch0n Messages postés 603 Statut Membre -
P@t@ch0n Messages postés 603 Statut Membre -
Bonjour,
Voila mon problème :
J'ai 2 tables :
`demande_info` (
`ID_Demande` INT AUTO_INCREMENT PRIMARY KEY NOT NULL,
`Date_Demande` date NOT NULL,
...
) TYPE=INNODB, DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `demande_etat` (
`ID_Demande` INT NOT NULL,
`Etat_Demande` int(1) NOT NULL,
...
) TYPE=INNODB, DEFAULT CHARSET=utf8;
Je souhaite, que lorsque j'ajoute une ligne a demande_info, mysql me créer automatiquement une ligne supplémentaire dans demande_etat qui auras la même ID_Demande.
J'ai essayer avec FOREIGN KEY (`ID_Demande`) REFERENCES `demande_info` ( `ID_Demande` ) ON UPDATE CASCADE mais sa n'as pas marcher et je ne m'y connait pas trop :/
Donc si quelqu'un pouvait m'aider sa serai sympa :)
Voila mon problème :
J'ai 2 tables :
`demande_info` (
`ID_Demande` INT AUTO_INCREMENT PRIMARY KEY NOT NULL,
`Date_Demande` date NOT NULL,
...
) TYPE=INNODB, DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `demande_etat` (
`ID_Demande` INT NOT NULL,
`Etat_Demande` int(1) NOT NULL,
...
) TYPE=INNODB, DEFAULT CHARSET=utf8;
Je souhaite, que lorsque j'ajoute une ligne a demande_info, mysql me créer automatiquement une ligne supplémentaire dans demande_etat qui auras la même ID_Demande.
J'ai essayer avec FOREIGN KEY (`ID_Demande`) REFERENCES `demande_info` ( `ID_Demande` ) ON UPDATE CASCADE mais sa n'as pas marcher et je ne m'y connait pas trop :/
Donc si quelqu'un pouvait m'aider sa serai sympa :)
Configuration: Windows XP Firefox 3.0.8
4 réponses
-
-
C'est possible en utilisant un déclencheur (trigger).
Attention toutefois, peu d'hébergeur offre la possibilité de créer des trigger.
Dans ton cas, ça donnerait.
CREATE TRIGGER AI_DEMANDE_ETAT AFTER INSERT ON demande_info FOR EACH ROW INSERT INTO demande_etat(ID_Demande, Etat_Demande) VALUES(NEW.ID_Demande, 0);
Il faut impérativement changer de delimiter pour enregistrer un trigger.
Sinon, pourquoi tu as fait 2 tables ? -
Ouai merci c'est sa :)
Ben euh en faite c'était juste une question de propreté de basse, la 1ere est remplis par un utilisateur lambda et l'autre seulement par certaines personne qui gère le tout :/
Mais je commence quand même a me demander si c'est pas mieux d'en faire qu'une :/ -
Je crois qu'en effet une seule table est amplement suffisante ;)