Mysql - Jointure en insert

Roukeuss Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
P@t@ch0n Messages postés 565 Date d'inscription   Statut Membre Dernière intervention   -
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

Roukeuss
 
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   Statut Membre Dernière intervention   85
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   85
 
Je crois qu'en effet une seule table est amplement suffisante ;)
0