phpbar.de logo

Mailinglisten-Archive

AW: Update problem in selber tabelle

AW: Update problem in selber tabelle

Hans-Peter Kohnle mysql at timesoft.org
Die Feb 3 19:02:21 CET 2004


Hallo,

Das bedeutet wohl, dass das SQL-Statement Syntaktisch richtig ist.
Lediglich mit den Wertzuweisungen kann MySQL nichts anfangen. Die sind
dann erst einmal 0. Und da die zuvor auch 0 waren m�ssen sie auch nicht
upgedatet werden. Folglich "0 updated Rows" ;-)

Zun�chst solltest du sicherstellen, dass Deine Zusammenstellung der
Werte auch tats�chlich ein Ergebnis bringen.

SELECT (Datum & ' ' & Uhrzeit) as Zeit, 
       UNIX_TIMESTAMP(Datum & ' ' & Uhrzeit) as ZeitUnix
  FROM daten
 LIMIT 0,100

* 100 Datens�tze sollten erst einmal reichen

Iregendwie bin ich mir nicht sicher, ob diese Verkn�pfung der Werte auch
tats�chlich funktioniert. Ich pers�nlich verwende in solchen F�llen
immer Funktionen, die mir auch einen definierten Typ zur�ckliefern.
Sowas wie CONCAT(string1,string2,....) (http://www.mysql.de/doc/de/
hilft hier weiter)

Bei mir w�rde demnach das SELECT so aussehen.

SELECT (CONCAT(Datum, ' ', Uhrzeit)) as Zeit, 
       UNIX_TIMESTAMP(CONCAT(Datum, ' ', Uhrzeit)) as ZeitUnix
  FROM daten
 LIMIT 0,100

Ich habe es gerade bei einer meiner Tabellen gepr�ft, das ist der
Fehler. Verbinde die einzelnen Werte mit CONCAT, dann sollte es
funktionieren.

Gruss HaPe



> > Ein Update ohne WHERE geht �ber die ganze Tabelle.
> >
> > Bei der Verwendung von Felder als Werte wird der momentane
> > Wert aus dem
> > Datensatz verwendet.
> >
> > UPDATE daten
> >    SET Zeit = ( Datum & ' ' & Uhrzeit ),
> >        ZeitUnix = UNIX_TIMESTAMP(Datum & ' ' & Uhrzeit)
> >
> > Dieses Konstrukt sollte in Deinem Fall ausreichen.
> 
> Nunja, da tut sich garnichts :( nichtmal eine fehlermeldung er sagt
nur
> das
> 0 Zeilen geUpdatet wurden.



-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive