Bonjours a tous
Mon probleme est le suivant :
J'ai une table "dossier" qui contient des infos sur un dossier,
et une table "fichier" qui contient des infos sur un fichier.
Ma table fichier ressemble à ceci :
et ma table dossier ressemble a cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 idFichier INTEGER(5) PRIMARY KEY AUTO_INCREMENT nomFichier VARCHAR(50), poidFichier INTEGER(10), idDossier INTEGER(10)
Lorsque je veux inserer un fichier je doit donc connaitre l'identifiant du dossier qui le contient, or avec mon insert :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 idDossier INTEGER(5) PRIMARY KEY AUTO_INCREMENT nomDossier VARCHAR(50), droitsDossier INTEGER(3)
INSERT INTO Dossier VALUES('','nom_dossier','droits');
Je laisse le SGBD générer l'identifiant du dossier pour moi. Je ne connais donc pas l'identifiant du dossier que je viens d'inseré...comment insérer le fichier alors ?
INSERT permet-il de "renvoyer" l'identifiant qu'il vient de créer avec le AUTO_INCREMENT ? Je pourrai alors faire mon insertion de fichier...
J'ai pensé à ne pas utiliser d' AUTO_INCREMENT, et déterminer moi meme l'id du dossier, mais j'ai peur d'un probleme de concurrence, car plusieurs programme vont faire des insertions en meme temps...
ps : J'ai simplifier un peu pour bien faire ressortir mon probleme, car en plus dans mon cas réel deux "dossiers" peuvent avoir le meme nom et meme droits, donc je ne peut pas faire un SELECT sur le nom + les droits du dossier après avoir d'insérer un dossier pour retrouver son id, puisqu'il peut en avoir 2 pareil...
Partager