Thread Problem mit DELETE FROM
(3 answers)
Opened by sven2006 at 2008-10-08 18:07
Ich hab hier ein Problem das mir extrem Kopfschmerzen bereitet, geht um folgendes: Ich hab hier ein Script das von einem Firefoxplugin Daten empfängt und dementsprechend in der Datenbank in die entsprechende Tabelle schreibt.
Ist die Tabelle leer wird tadellos geschrieben. Aber... sobald an der bestimmten Stelle in der Tabelle was steht passiert gar nichts mehr. Zeile 144 und 145 die eigendlich den Eintrag löschen soll hab ich mal testweise deaktiviert, dann wird "wenigstens doppelt" geschrieben. Ich find den Fehler einfach nicht. Weiss einer einen Rat? Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 my $sth; if ($runner >= 15) { $sth = $dbh->prepare("DELETE FROM u5_psm WHERE galaxy=? AND system=?;"); $sth->execute($gal, $sys); foreach my $planet (sort {int $a <=> int $b} keys %sys) { $sth = $dbh->prepare("INSERT INTO u5_psm SET last_update=NOW(), planet='$planet', " . join(", ", map {$_."='".$sys{$planet}{$_}."'"} sort keys %{$sys{$planet}}) . ";"); $sth->execute(); print "INSERT INTO u5_psm SET planet='$planet', ". join(", ", map {$_."='".$sys{$planet}{$_}."'"} sort keys %{$sys{$planet}}) . ";"; } } return (scalar keys %sys > 0 ? 0 : 4); } sub translate { my $what = shift; if (defined($config{'TRANSLATE'}{$what})) { return $config{'TRANSLATE'}{$what}; } else { return $what; } } |