/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
duplicate/copy record i MySQL
Fra : Jesper Brunholm


Dato : 18-02-03 13:15

Hej Folks

Jeg ville gerne kunne oprette en ny række i MySQL baseret på en
eksisterende række/record.
Findes der ikke en funktion til sådan noget?

mvh

Jesper Brunholm

--
H.C. Andersen-Centret med nyt design: <http://www.andersen.sdu.dk/>
Phønix - dansk folk-musik fra unge musikere - <http://www.phonixfolk.dk/>


 
 
Jens Gyldenkærne Cla~ (18-02-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 18-02-03 14:09

Jesper Brunholm skrev:

> Jeg ville gerne kunne oprette en ny række i MySQL baseret på en
> eksisterende række/record.
> Findes der ikke en funktion til sådan noget?

   INSERT INTO tabel
   SELECT *
   FROM tabel
   WHERE <kriterier for kopien>

Hvis tabellen har en primærnøgle er det lidt mere besværligt.
Primærnøglen skal jo ikke kopieres - og der er ikke nogen måde at
vælge "* - ID" - altså alle felter pånær et.

Du kan til hver en tid blot specificere felterne:

   INSERT INTO tabel (felt1, felt2, felt3, felt4)
   SELECT felt1, felt2, felt3, felt4
   FROM tabel
   WHERE <kriterier for kopien>

- men det er sikkert det bøvl du vil undgå ;)

Et view der udelader primærnøglen kan bruges (hvis primærnøglen er
et autonummerfelt, kan man - i hvert fald i mssql godt lave select
* ind i en tabel) - men så kan det til gengæld være svært at fange
den rigtige post der skal kopieres (da primærnøglen jo ikke kan
bruges til udvælgelsen).
--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO - www.fiduso.dk)
I ovenstående tekst benyttes nyt komma
(rettelser modtages gerne i dk.kultur.sprog)

Jesper Brunholm (18-02-2003)
Kommentar
Fra : Jesper Brunholm


Dato : 18-02-03 15:45

Jens Gyldenkærne Clausen wrote:
> Jesper Brunholm skrev:
>
>
>>Jeg ville gerne kunne oprette en ny række i MySQL baseret på en
>>eksisterende række/record.
>>Findes der ikke en funktion til sådan noget?

>    INSERT INTO tabel
>    SELECT *
>    FROM tabel
>    WHERE <kriterier for kopien>

> Hvis tabellen har en primærnøgle er det lidt mere besværligt.

ja - præcis

> Primærnøglen skal jo ikke kopieres - og der er ikke nogen måde at
> vælge "* - ID" - altså alle felter pånær et.

> Du kan til hver en tid blot specificere felterne:
>
>    INSERT INTO tabel (felt1, felt2, felt3, felt4)
>    SELECT felt1, felt2, felt3, felt4
>    FROM tabel
>    WHERE <kriterier for kopien>
>
> - men det er sikkert det bøvl du vil undgå ;)

du er tankelæser

> Et view der udelader primærnøglen kan bruges (hvis primærnøglen er
> et autonummerfelt, kan man - i hvert fald i mssql godt lave select
> * ind i en tabel) - men så kan det til gengæld være svært at fange
> den rigtige post der skal kopieres (da primærnøglen jo ikke kan
> bruges til udvælgelsen).

MySQL understøtter vist ikke views i nuværende versioner. Det er en
autonum. primærnøgle, og det er en specifik række jeg skal kunne
kopiere, så det overgår vis mine evner at udvælge posten til kopiering

Jeg tror jeg laver det med PHP i morgen hvis ikke der kommer et stærkt
løsningsbud inden, men tak for forsøget.

Venligst

Jesper Brunholm

--
H.C. Andersen-Centret med nyt design: <http://www.andersen.sdu.dk/>
Phønix - dansk folk-musik fra unge musikere - <http://www.phonixfolk.dk/>


Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste