Probleme d insertion dans une table via perl

Fermé
juzi Messages postés 4 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 12 août 2008 - 18 juil. 2008 à 09:40
juzi Messages postés 4 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 12 août 2008 - 18 juil. 2008 à 12:07
Bonjour tous le monde,

J'ai un petit souci :
je travaille sur mysql, mais sur phpmyadmin 5.0.51b sous serveur wampserver 2.0.
en fait je remplis ma base a partir d un tableau excel que j'ai enregistre sous format txt, separation par tabulation
dans ce tableau, sur chaque ligne j 'ai differentes infos :
nom de reaction - ec -nameE-compartiment-family-type de reaction-nbgene-gene-equation

via perl je split le fichier au niveau des tabulations et je recupere les valeurs dont j'ai besoin (ici, ec-namee-family et nbgene). j'envois ces valeurs dans la base, dans une table enzyme :
- enzymeID : clé primaire, auto-increment
- EC
- nameE
- Family
- Nbgene

j'ai affecté une contrainte d'unicité sur les 2 champs EC et NameE, quand j essaie de remplir la table depuis perl, j ai un message d erreur qui m indique que l'insertion a echoue car il a des entrees doubles. normal...

mais mon probleme est : comment fait-on pour continuer l'insertion en 'sautant' les doublons ?


merci de votre aide
A voir également:

1 réponse

juzi Messages postés 4 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 12 août 2008
18 juil. 2008 à 11:12
Pas d'idée??? help!!
0
juzi Messages postés 4 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 12 août 2008
18 juil. 2008 à 12:07
J' ai tenté de mettre un trigger afin de vérifier apres un insert que la ligne insérée n 'est pas déjà dans le tableau, mais je ne suis pas du tout sur de la syntaxe...

$R_10= $dbh -> do("create trigger on enzyme after insert as
if exists ( select * from inserted newNameE, newEC, newFamily where newEC = EC and newNameE = NameE)
delete from enzyme where EC = newEC");

mon probleme est comment au niveau du where lui dire de comparer les nouvelles valeurs insérées avec les anciennes?
0