Avatar billede supermand69 Nybegynder
06. september 2006 - 13:03 Der er 17 kommentarer og
1 løsning

update flere rækker

hvordan kan man update flere rækker ligesom man gør med insert?

INSERT table (felt1,felt2) VALUES (1,'hej')";

kan det omskrives direkte som en update?
Avatar billede jokkejensen Novice
06. september 2006 - 13:11 #1
Update tabel set felt1 = 1, set felt2 = 'hej' where xxx;

eller tænker du på:

Update tabel set felt1 = 1, set felt2 = 'hej' where xxx;Update tabel set felt1 = 1, set felt2 = 'hej' where yyy;
Avatar billede supermand69 Nybegynder
06. september 2006 - 13:44 #2
nej, noget ala

UPDATE table (felt1,felt2) VALUES (1,'hej'),(43,'goddag') WHERE id (234,423)

så mang bliver fri for at lave en helt masse seperate UPDATE querys lige efter hinanden
Avatar billede jokkejensen Novice
06. september 2006 - 14:00 #3
nåå..

UPDATE table (felt1,felt2) VALUES (1,'hej'),(43,'goddag') WHERE id = 234 OR id = 423 OR id = 555


Du kan også sige ID <>= ..

Men du kan ikke komma splitte dem..
Avatar billede jokkejensen Novice
06. september 2006 - 14:01 #4
http://www.w3schools.com/sql/sql_where.asp

Der er lidt mere om where clausen :)
Avatar billede supermand69 Nybegynder
06. september 2006 - 14:35 #5
Den der where clause du har lavet med || virker sådan lidt suspekt :) den er jo ikke særlig specifik, men det er måske måden man gør det på? hehe
Avatar billede jokkejensen Novice
06. september 2006 - 15:21 #6
den kan vel ikke være mere specifik end id = x ... ?

det kan vel kun være en række.. siger du så OR kan det være flere..
du kan også sætte flere betingelser med AND, men så skal begge være opfyldt.. ex ville id = xxx AND id = yyy ville ikke findes-.-
Avatar billede arne_v Ekspert
06. september 2006 - 17:26 #7
WHERE id IN (234,423)

bør virke
Avatar billede arne_v Ekspert
06. september 2006 - 17:27 #8
men UPDATE bruger SET ikke VALUES
Avatar billede supermand69 Nybegynder
06. september 2006 - 20:13 #9
Man burde vel kunne bruge "id IN()" i where clausen?

UPDATE user_attrib (att_add_party,att_add_news) VALUES (0,1),(1,1),(1,1),(1,0),(1,0) WHERE id IN (14,33,3,45,53)
Avatar billede supermand69 Nybegynder
06. september 2006 - 20:14 #10
arne > hov, havde ikke lige set du havde skrevet

men hvordan kan jeg så lave min update query?
Avatar billede supermand69 Nybegynder
06. september 2006 - 23:01 #11
Har nu ændret til følgende:

UPDATE electrobeat_dk_db3.user_attrib (att_add_party,att_add_news) SET (1,1),(1,1),(1,1),(1,1),(1,1) WHERE id IN (14,45,53,33,3)

- men får stadig fejl:

... for the right syntax to use near '(att_add_party,att ...
Avatar billede arne_v Ekspert
06. september 2006 - 23:14 #12
SET syntax er som i 06/09-2006 13:11:11
Avatar billede supermand69 Nybegynder
06. september 2006 - 23:27 #13
har jeg da gjort?
Avatar billede arne_v Ekspert
07. september 2006 - 00:42 #14
no

UPDATE electrobeat_dk_db3.user_attrib
SET att_add_party=1,att_add_news=1
WHERE id IN (14,45,53,33,3)

tror jeg er det som du mener
Avatar billede supermand69 Nybegynder
07. september 2006 - 07:48 #15
nej :) men det var min fejl at jeg postede en query hvor alle felter skulle være =1

jeg skal have lagt alle dem her sammen i EN query

UPDATE user_attrib SET att_add_party=1, att_add_news=1 WHERE id=14
UPDATE user_attrib SET att_add_party=0, att_add_news=1 WHERE id=45
UPDATE user_attrib SET att_add_party=1, att_add_news=0 WHERE id=53
osv.
Avatar billede arne_v Ekspert
07. september 2006 - 16:52 #16
så tror jeg at du hænger på 3 x UPDATE
Avatar billede supermand69 Nybegynder
12. oktober 2006 - 16:56 #17
arne > lav et svar
Avatar billede arne_v Ekspert
12. oktober 2006 - 17:57 #18
ok
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