Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]7970[/thread]

DBI-Fehlermeldungen abfangen: duplicate entry, etc.



<< >> 4 Einträge, 1 Seite
steinwolf
 2006-05-11 18:36
#65979 #65979
User since
2003-08-04
367 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich pflege mittels DBI Datensätze in eine mysql-db ein. manchmal kommt es nun vor, dass der primary key doppelt da ist. dann soll das programm einfach weiterlaufen und die fehlermeldung ignorieren. Anscheinend unterbricht aber immer dort mein Programm.

Wie kann ich das unterbinden?

Code: (dl )
1
2
3
4
5
DBD::mysql::st execute failed: Duplicate entry 'http://www.rechtlegal.de/' for k
ey 1 at mysql_subs.pm line 31.
SQL-INSERT Problem: Duplicate entry
'http://www.rechtlegal.de/' for key 1 at mys
ql_subs.pm line 31.



mfg
steinwolf
"Did you know? You can use your old motor oil to fertilize your lawn." - Blinkster - Professionelles EDV Forum
docsnyder
 2006-05-11 18:38
#65980 #65980
User since
2005-09-08
300 Artikel
BenutzerIn
[Homepage] [default_avatar]
Warum prüfst Du vor dem insert nicht einfach, ob der key schon existiert? So würde man das eigentlich machen, wenn man's richtig macht ;o)

Gruß, Doc
Strat
 2006-05-11 18:44
#65981 #65981
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
wenn du ihn einfach stillschweigend ueberschreiben willst, dann koenntest du bei mysql anstelle von INSERT REPLACE nehmen...

dass das programm abbricht, liegt an dir; arbeitest du beim connect mit RaiseError => 1 ? wenn ja, dann packe das insert in einen eval-Block, oder verzichte auf das RaiseError =>1 und kuemmere dich selbst um eine angemessene fehlerbehandlung.
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
steinwolf
 2006-05-11 19:03
#65982 #65982
User since
2003-08-04
367 Artikel
BenutzerIn
[default_avatar]
@docsnyder, will zeit sparen ;-)

danke strat, ich verwende jetzt wirklich replace..
"Did you know? You can use your old motor oil to fertilize your lawn." - Blinkster - Professionelles EDV Forum
<< >> 4 Einträge, 1 Seite



View all threads created 2006-05-11 18:36.