my $i = 4; my $sth_ins = $dbh->prepare('insert into test values (?)') || die("Can't prepare Statement!".$dbh->errstr."\n") my $sth_sel = $dbh->prepare('select id from test where id=?') || die("Can't prepare Statement! (".$dbh->errstr.")"); if($sth_ins->execute($i)) { print "Set new value\n"; } else { # einfügen nicht erfolgreich testen ob es den Eintrag schon gibt? # wenn es zu Fehlern kommt stimmt Irgend etwas anderes nicht. my $err=$dbh->errstr; if($sth_sel->execute($i) && $sth_sel->fetchrow_arrayref()->[0] == $i) { # der Eintrag existiert. Die Fehlermeldung muss nicht Ausgeben werden. print "Allready exists\n"; } else { die("Can't insert Value! $err\n") } } $sth_ins->finish; $sth_sel->finish;