perl&mysql - probleme mit update-befehl
Stefan
- perl
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!?!
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