Mysql - Jointure en insert

Fermé
Roukeuss Messages postés 8 Date d'inscription vendredi 17 avril 2009 Statut Membre Dernière intervention 17 mai 2009 - 17 avril 2009 à 16:17
P@t@ch0n Messages postés 565 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 28 décembre 2009 - 17 avril 2009 à 19:34
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 :)

4 réponses

Un ptit up, et je commence même a me demande si c'est possible .... :/
0
P@t@ch0n Messages postés 565 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 28 décembre 2009 85
17 avril 2009 à 18:57
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 ?
0
Roukeuss Messages postés 8 Date d'inscription vendredi 17 avril 2009 Statut Membre Dernière intervention 17 mai 2009
17 avril 2009 à 19:30
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 :/
0
P@t@ch0n Messages postés 565 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 28 décembre 2009 85
17 avril 2009 à 19:34
Je crois qu'en effet une seule table est amplement suffisante ;)
0