webForumDet fria alternativet

Kopiera datumkolumn?

9 svar · 475 visningar · startad av aasah

aasahMedlem sedan mars 20034 471 inlägg
#1

Jag vill skapa en ny tabell baserat på en gammal. Bla har jag en kolumn RD med typ DATE som jag vill få över oförändrad. Den finns alltså definierad i båda tabellerna som RD DATE. Varför funkar inte:

$sql = "SELECT * FROM Old";
$res = mysql_query($sql) or die(mysql_error());
$antal = mysql_num_rows($res);
while($row = mysql_fetch_array($res)) {
   $ins = "INSERT INTO NewTab (...., RD, .....)
	VALUES(..., ".$row["RD"].", ....)";
   mysql_query($ins) or die(mysql_error());
}

Den komlumnen har fått värdet
0000-00-00
för alla rader - och så ser det inte ut i Old!

Hur borde jag skriva? Ska datumkolumnen i $ins omgärdas av enkelfnuttar?

Använder MySQL.

tydalMedlem sedan juni 20034 013 inlägg
#2

Ja, datum ska vara inom enkelfnuttar.

aasahMedlem sedan mars 20034 471 inlägg
#3

TACK, tydal! :birp

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Du behöver inte göra select eller ha en loop

insert into newtab select <kolumner> from old
aasahMedlem sedan mars 20034 471 inlägg
#5

LarsG skrev:

Du behöver inte göra select eller ha en loop

insert into newtab select <kolumner> from old

Bra att vet för en direkt kopiering! :) Men här är inte alla kolumner samma, men just den kolumnen är det.

LarsGMedlem sedan dec. 200012 464 inlägg
#6

Det har ingen betydelse om tabellerna har likadana kolumner. Ange bara de kolumner som är relevanta. Du kan också ange konstanter i selectlistan om det inte finns någon mostvarande kolumn i den gamla tabellen.

aasahMedlem sedan mars 20034 471 inlägg
#7

LarsG skrev:

Det har ingen betydelse om tabellerna har likadana kolumner. Ange bara de kolumner som är relevanta. Du kan också ange konstanter i selectlistan om det inte finns någon mostvarande kolumn i den gamla tabellen.

Åh! Tack för tipset!! :birp

aasahMedlem sedan mars 20034 471 inlägg
#8

Kan man använda den modellen även om man behöver hämta data från mer än en gammal tabell? Alltså funkar följande?

insert into newtab select o.kol1, a.kol2 from old o, annan a where o.namn = a.namn
@ndersMedlem sedan juni 200032 969 inlägg
#9

Jajemen! Din SELECT-del får se ut i stort sett hur som helst. :)

aasahMedlem sedan mars 20034 471 inlägg
#10

Härligt! :e

134 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)