Avatar billede diz Nybegynder
10. december 2003 - 13:38 Der er 9 kommentarer og
1 løsning

Merge tabeller

Hej,

Jeg har 2 tabeller:

- members
- members_import

Nu skal jeg så have alle dem der KUN ligger i 'members_import' over i 'members'.

Derefter skal jeg ændre et felt kaldet 'Status' i tabellen 'members'. Men KUN de records der er i 'members' MEN IKKE I 'members_import'.

Giver dette menning?

/Sune
Avatar billede arne_v Ekspert
10. december 2003 - 13:43 #1
INSERT INTO members
SELECT members_import.* FROM members_import LEFT JOIN members ON members_import.id=members.id WHERE members.id IS NULL
Avatar billede arne_v Ekspert
10. december 2003 - 13:46 #2
UPDATE members LEFT JOIN members_import ON members.id=members_import.id
SET members.status=X WHERE members_import.id IS NULL
Avatar billede arne_v Ekspert
10. december 2003 - 13:46 #3
Og det er kun et gæt !
Avatar billede diz Nybegynder
10. december 2003 - 14:20 #4
Hej

Den kommer med følgende fejl i den første:

"Not unique table/alias : members"

/Sune
Avatar billede diz Nybegynder
10. december 2003 - 14:24 #5
fik den løst, men nu er der en anden :

"INSERT TABLE members isnt allowed in FROM table list"

/Sune
Avatar billede diz Nybegynder
10. december 2003 - 14:26 #6
til oplysning så benytter jeg mysql 3.23.45
Avatar billede arne_v Ekspert
10. december 2003 - 14:27 #7
Hm.

Jeg har ingen gode ideer med hensyn til den fejl.
Avatar billede diz Nybegynder
10. december 2003 - 14:33 #8
Fandt følgende på www.mysql.com

It's okay to use a subquery for assignment within an UPDATE statement, since subqueries are legal in UPDATE and in DELETE statements as well as in SELECT statements. However, you cannot use the same table, in this case table t1, for both the subquery's FROM clause and the update target.

Det betyder vel at jeg må have en temp_tabel?!?

/Sune
Avatar billede arne_v Ekspert
10. december 2003 - 15:21 #9
Lyder sådan.
Avatar billede diz Nybegynder
21. marts 2004 - 17:09 #10
lukker
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