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