aasahMedlem sedan mars 20034 471 inlägg 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 Ja, datum ska vara inom enkelfnuttar.
LarsGMedlem sedan dec. 200012 464 inlägg 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
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 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
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 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 Jajemen! Din SELECT-del får se ut i stort sett hur som helst. :)