Stefan: perl&mysql - probleme mit update-befehl

hallo spezialisten!
ich übergebe formulardaten über dbi an eine mysql-datenbank:

foreach $name (sort(keys(%daten)))
           {

my $sql = "update table set $name=('$daten{$name}') where ID=max <-???";
   my $sth = $dbh->prepare( $sql );

$sth->execute;
          $sth->finish;
}

das problem ist, dass dann alle felder überschrieben werden.
eine inkrementierende spalte ist auch vorhanden, jedoch krieg ich nicht den korrekten syntax für
where ID=max (wobei ID die inkrementierung ist) hin ??
wenn ich die daten mit insert reinschreiben will, tut sich gar nix!?!

  1. my $sql = "update table set $name=('$daten{$name}') where ID=max <-???";

    Hallo,

    Für was soll das max gut sein ?

    Du willst ein feld EINER REIHE updaten, also musst du ihm die reihe auch sagen sonst macht er es in allen.. zb.
    UPDATE table set FELDNAME='$WERT' WHERE ID=$ID;

    wenn du einen insert hast kannst dir where + id sparen, wenn das feld auf auto_increment gesetzt macht mysql das selber.. also höchste ID +1 zb.
    INSERT INTO table (feld1,feld2) VALUES ('$wert1','$wert2');

    mehr brachts nicht. du musst das ID feld nicht angeben!

    lg
    Ludwig