Avatar billede myplacedk Nybegynder
14. oktober 2001 - 15:17 Der er 4 kommentarer og
1 løsning

INSERT INTO ... SELECT

Jeg har noget data i én tabel, som skal over i en anden tabel. I første
omgang vil jeg blot tage de felter, som kan kopieres direkte, og oprette
de rows i den nye tabel. Det foregår ca. sådan her:

INSERT INTO nytabel SELECT
  ID AS id_gammel,
  navn AS name,
  alder AS age,
  felt3
FROM gammeltabel

Navnene er selvfølgelig ændret...

Hvis jeg fjerner \"INSERT INTO nytabel \" for jeg et resultatsæt, som er
præcist som forventet. Men hvis jeg fyrer hele querien af, får jeg denne
fejl: \"Column count doesn\'t match value count at row 1\".

Jeg har på fornemmelsen hvad det er: I nytabel er der nemlig flere
felter, end dem jeg tager fra gammeltabel. Men hvad skal jeg så gøre?

Jeg kunne selvfølgelig lave noget kreativt fusk med noget dump og sådan lidt, men nu vil jeg altså lære at gøre det rigtigt, men manualen er meget kortfattet hvad denne feature angår.
Avatar billede myplacedk Nybegynder
14. oktober 2001 - 15:17 #1
Jeg har også spurgt i dk.edb.database på usenet.
Avatar billede agony Nybegynder
14. oktober 2001 - 15:18 #2
mysql understøtter ikke inner select :-|
Avatar billede myplacedk Nybegynder
14. oktober 2001 - 15:20 #3
Det kan godt passe, men den understøtter altså \"INSERT INTO ... SELECT\" ifølge manualen. Når det står i manualen, så må det også kunne lade sig gøre. :)

http://www.mysql.com/doc/I/N/INSERT_SELECT.html
Avatar billede agony Nybegynder
14. oktober 2001 - 15:22 #4
tjo du har vist ret :-)
Avatar billede myplacedk Nybegynder
14. oktober 2001 - 16:30 #5
Argh, løsningen stod jo alligevel i manualen. Jeg var også ret overrasket over at jeg ikke kunne finde det. :)

INSERT INTO nytabel (felt1, felt2) SELECT ...

Præcist som alle andre insert-queries. For nemt... ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester