Eintrag in vorhandene Zeile einfügen mysql

Hallo,
habe eine mysql-Tabelle mit dem Namen „Obst“. In der Tabelle befinden sich vier Spalten: „id“, „Preis“, „Farbe“ und „Reife“.
Einige Zeilen sind schon vollständig ausgefüllt.
Die Zeile mit der größten „id“ ist noch nicht vollständig ausgefüllt. Der Eintrag im Feld „Preis“ fehlt noch. Wie kann ich diesen Eintrag dieser Zeile hinzufügen?
Hier mal ein Versuch, wie ich mir das vorstelle, funktioniert so natürlich nicht:

$mysql_qry = "INSERT INTO Obst (`Preis`) VALUES ('$preis'')" WHERE id = MAX ;

VG

Hallo,

wenn du einen bestehenden Eintrag (um einen Preis) erweitern möchtest brauchst du keinen INSERT sondern ein UPDATE:

UPDATE Obst SET Preis = „$preis“ WHERE id = MAX(id);

Gruß,
Steve

Danke für die schnelle Antwort. Leider funktioniert das ganze nicht, wenn ich "Preis und „Farbe“ hinzufügen möchte. Für die MARIA-DB gibt es mir hier einen Syntaxfehler aus. Habe schon sämtliche " oder ’ ausprobiert. Leider ohne Erfolg. Was mache ich falsch?

$mysql_qry = "UPDATE Obst SET (`Preis`, `Farbe`) VALUES ('$preis','$farbe') WHERE `id`=MAX(`id`)";

VG

Habe nun noch ein wenig getstet und genauere Informationen.
Hiermit funktioniert es schonmal die Daten in der zeile mit der id = 78 zu aktualisieren:

UPDATE `Obst` SET `Preis` = '500', `Farbe` = 'rot' WHERE `id` =78;

Der Fehler liegt also an dem Teil id = MAX(id).

UPDATE `Obst` SET `Preis` = '500', `Farbe` = 'rot' WHERE `id` = MAX(`id`);

Hi!

max() ist eine Gruppierungsfunktion, kann also nicht einfach so in einer WHERE-Klausel benutzt werden.
Lösung:

update obst set preis = 500,farbe = 'rot' where id = (select max(id) from obst)

Bitte sehr,
Tomh

Hallo,
leider funktioniert das so auch nicht:

UPDATE `Obst` SET `Preis` = '500', `Farbe` = 'rot' WHERE `id` = (SELECT max( id ) FROM Obst);

Die Fehlermeldung lautet:
#1093 - You can’t specify target table ‚Obst‘ for update in FROM clause

Das einzelne Ausführen von SELECT max( id ) FROM Obst funktioniert dagegen, bringt mich aber nicht weiter.

Wer kann mir weiterhelfen?