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 17:23:55 CET 2004


Hallo,

für ein Update benötigst Du kein Select.

UPDATE daten SET (Deine Argumente) WHERE (Deine Argumente)

Dieses Update setzt die von Dir definierten Felder auf die von Dir
angegebenen Werte bei den unter WHERE definierten Felder.

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.


Gruss Hans-Peter Kohnle


> Ich habe etwas komisches zu lösen und komm nicht drauf...
> Ich importiere daten aus einer anderen quelle in eine mysql tabelle.
> Dirt gibt's dann:
> Pos = INT(11) primary
> Datum = DATE(0000-00-00)
> Uhrzeit = TIME(00:00:00)
> ...usw...
> 
> Dann noch:
> Zeit = DATETIME(0000-00-00 00:00:00)
> ZeitUnix = INT(12)
> 
> Bei meinem import werden die obrigen 3 felder mit daten gefüllt, und
die
> letzten 2 nicht.
> Nun möchte ich die felder 'Zeit' und 'ZeitUnix' aus 'Datum' und
'Uhrzeit'
> korrekt befüllen.
> 
> Das müste doch in einem update befehl platz haben oder?
> Eine idee währe diese, nur funzt diese nicht:
> 
> SELECT Pos AS Pos1, Datum AS Datum1, Uhrzeit AS Uhrzeit1 FROM daten
ORDER
> BY
> Pos
> UPDATE daten SET Zeit = ( Datum1 & ' ' & Uhrzeit1 ), ZeitUnix =
> UNIX_TIMESTAMP(Datum1 & ' ' & Uhrzeit1) WHERE Pos = Pos1
> 


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


php::bar PHP Wiki   -   Listenarchive