[MySQL] Ajout automatique

matthoffman Messages postés 405 Date d'inscription   Statut Membre Dernière intervention   -  
Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Alors voici le contexte:
J'ai une table 'employee' avec une colonne 'RESOURCE_ID'.
J'ai une autre table 'employee_category' avec le meme type de colonne aussi nommee 'RESOURCE_ID'.

Maintenant, mon probleme:
J'ajoute les donnes dans la table 'employee' et je voudrais savoir comment faire le lien, pour que la donnee enregistree dans la colonne 'RESOURCE_ID' de cette table soit aussi ajoutee AUTOMATIQUEMENT dans la colonne 'RESOURCE_ID' de la table 'employee_category'.

Merci d'avance de votre aide

Cordialement
Matt

8 réponses

Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   369
 
$req1 = "INSERT INTO employee VALUES...";
$req2 = "INSERT INTO employee_category VALUES..."

;-)
0
matthoffman Messages postés 405 Date d'inscription   Statut Membre Dernière intervention   47
 
Lol heureusement que j'ai dit "automatiquement" ^^.

En fait si je ne m'abuse ta solution est manuelle (i.e je tape moi meme les 2 ajouts).
Je voudrais faire 1 SEUL ajout dans une table, et que l'ajout dans l'autre table soit automatiquement effectuee par un lien quelconque (que je pense ne pas connaitre, si toutefois il existe lol)
0
Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   369
 
Pourquoi tes insertions tu les faits pas avec php? Tu les fais sous phpMyAdmin?
0
matthoffman Messages postés 405 Date d'inscription   Statut Membre Dernière intervention   47
 
Non pas de php, je fais mes appels dans mes JSP ou servlet ca depend, en gros du java quoi ;).

Mais meme sous php tes 2 requetes seraient manuelles et pas effectuees l'une parce que l'autre a ete ajoutee ... (je ne sais pas si je suis clair la ^^)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   369
 
Si... Tu fais ta 1ère requête insert puis un select pour vérifier la présence de l'id(tu peux faire une fonction) puis si ce n'est pas le cas le 2ème insert...

Pour celui qui code il n'y a pas grand chose d'automatique, ce qui compte c'est le client...

Bonne continuation
0
matthoffman Messages postés 405 Date d'inscription   Statut Membre Dernière intervention   47
 
Ouais ok je vois, j'avais pense a coder une fonctione du style mais justement je voulais eviter ca, je pensais que c'etait possible par MySQL de faire ca automatiquement.

Genre par exemple les FOREIGN KEY qui te permettent d'etablir une relation entre 2 meme colonne de 2 differentes tables ...

Bon ba pas grave alors j'ai du trop rever ... :(

Merci en tout cas
0
Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   369
 
Ta aussi la possibilité de la procédure stockée sur un AFTER INSERT mais ta table employee_category ne contient que le champs id??
0
matthoffman Messages postés 405 Date d'inscription   Statut Membre Dernière intervention   47
 
Tu peux detailler la commande AFTER INSERT stp (concretement ce qu'elle fait).

Et bien evidemment les 2 tables sont bien plus complexes, j'ai simplifier au max pour poser la question.

Mais en gros, le client remplit un formulaire (je remplit donc ma table 'employee'),
ainsi automatiquement (grace a ce lien mysterieux), une nouvelle ligne est ajoutee dans la table 'employee_category' avec la meme valeur dans la colonne RESOURCE_ID que dans l'autre table.

En bref, ca revient a faire INSERT INTO employee (RESOURCE_ID) VALUES (tsi1); qui engendrerait automatiquement un INSERT INTO employee_category (RESOURCE_ID) VALUES (tsi1).

Sinon autre question, je sais qu'est ce qu'est une FOREIGN KEY, mais CONCRETEMENT, qu'est ce qu'elle permet de faire (sans me dire "elle etabli la relation d'une meme dolonne entre 2 tables") ?
0
Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   369
 
Concrètement une foreign key te permet de mettre à jour et supprimer en cascade. Ici par exemple, si on te supprime une catégorie, on supprime les employés de cette catégorie.

Pour les procédures stockées (ou trigger) je suis pas trop au point mais tu peux regarder par là :

http://dev.mysql.com/doc/refman/5.0/fr/create-trigger.html
0
matthoffman Messages postés 405 Date d'inscription   Statut Membre Dernière intervention   47
 
Ok je vais checker ca. Merci de ton aide :).

Au pire j'utiliserais la methode brut de code.
0
Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   369
 
OK de rien.
Bon courage...

;-)
0