Rechercher : dans
Par :

Mysql - Jointure en insert

Dernière réponse le 17 avr 2009 à 19:34:34 Roukeuss, le 17 avr 2009 à 16:17:33 
 Signaler ce message aux modérateurs

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 :)

Configuration: Windows XP
Firefox 3.0.8

1

Roukeuss, le 17 avr 2009 à 17:46:46

Un ptit up, et je commence même a me demande si c'est possible .... :/

Répondre à Roukeuss

2

P@t@ch0n, le 17 avr 2009 à 18:57:03

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 ?

Répondre à P@t@ch0n

3

Roukeuss, le 17 avr 2009 à 19:30:34

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 :/

Répondre à Roukeuss

4

 P@t@ch0n, le 17 avr 2009 à 19:34:34

Je crois qu'en effet une seule table est amplement suffisante ;)

Répondre à P@t@ch0n
Collection CommentÇaMarche.net