PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Update Frage!



oafish
29-03-2004, 08:56
Hallo,
ich habe ein kleines aber nerviges Problem (da ich selbst vor dem Schlauch hänge). Und zwar, lese ich mittels folgender Select-Anweisung Daten ein:

select * from Emails,Documents where Documents.parentID='9112' AND Emails.documentID=Documents.documentID;

Das funktioniert und zeigt mit den richtigen Wert an. Nun gibt es in Emails ein Flag, das mir anzeigt ob eine Email gelesen oder nicht gelesen wurde. Deshalb dachte ich folgendes würde funktioniern:

update Emails,Documents set mark = '1' where Documents.parentID='9112' AND Emails.documentID=Documents.documentID;
Das dumme ist nur, es funktioniert nicht. :)

Ich denke, irgendwie weiß er nicht wo er mark findet oder? Den Verweis zu Documents benötige ich aber.
Naja, ich bin jetzt auch nicht der große MySQL checker...

oafish

elrond
29-03-2004, 15:43
versuch's so

update Emails set mark=1 where documentID=$documentid

die $documentid hast du doch im ersten schritt schon ausgelesen...

Christoph
30-03-2004, 09:09
Gibt es das Feld "mark" vielleicht in beiden Tabellen?
Dann musst du es mit dem Tabellennamen qualifizieren: "Emails.mark".

Ansonsten ist das Statement zum SQL2-Standard konform. Welche Datenbank verwendest Du denn?
Soweit ich weiss ist MySQL nicht zum SQL-Standard kompatibel, was die Implementierung von Quotes angeht; eventuell müsstest Du dann die single quotes weglassen. Bei SQL-kompatiblen Datenbanken solltest Du sie dagegen verwenden, damit der Datentyp automatisch korrekt gecastet wird.

oafish
30-03-2004, 13:50
wie peinlich... ich hatte keine update Berechtigung :( :( :(

oafish