Kom ihåg mig?
Home Menu

Menu


Varför funkar inte denna SQL query?

 
Ämnesverktyg Visningsalternativ
Oläst 2013-11-12, 00:03 #1
naak2803 naak2803 är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2011
Inlägg: 767
naak2803 naak2803 är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2011
Inlägg: 767
Standard Varför funkar inte denna SQL query?

hej, skulle behöva lite hjälp med denna query... det jag vill göra är att köra update på flera rader samtidigt i en tabell med endast en enda query..

har testad göra så här, med det verkar inte fungera.

UPDATE jos_jms
SET blocked = '123,255,1024' WHERE userid = 992,
SET blocked = '992, 456,225' WHERE userid = 123;

Never mind... lyckade lösa detta genom

UPDATE jos_jms SET blocked = CASE
WHEN userid = 992 THEN '123,255,1024';
WHEN userid = 123 THEN '992, 456,225';
ELSE blocked
END;

Senast redigerad av naak2803 den 2013-11-12 klockan 00:17
naak2803 är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-11-12, 00:17 #2
nosnaj nosnaj är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Mar 2005
Inlägg: 1 012
nosnaj nosnaj är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Mar 2005
Inlägg: 1 012
Citat:
Ursprungligen postat av naak2803 Visa inlägg
hej, skulle behöva lite hjälp med denna query... det jag vill göra är att köra update på flera rader samtidigt i en tabell med endast en enda query..

har testad göra så här, med det verkar inte fungera.

UPDATE jos_jms
SET blocked = '123,255,1024' WHERE userid = 992,
SET blocked = '992, 456,225' WHERE userid = 123;
Enklast är väl köra flera sql, men antar du har dina skäl.
Något i stil med följande kanske fungerar, ej testat koden..


UPDATE jos_jms
SET blocked = CASE
WHEN userid = 992 THEN '123,255,1024'
WHEN userid = 123 THEN '992, 456,225'
ELSE blocked END
WHERE userid IN (992,123)
nosnaj är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-11-13, 09:27 #3
pelmereds avatar
pelmered pelmered är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2010
Inlägg: 1 342
pelmered pelmered är inte uppkopplad
Har WN som tidsfördriv
pelmereds avatar
 
Reg.datum: May 2010
Inlägg: 1 342
Vad är det du vill åstadkomma?

Den där queryn du löste det med är ju hopplöst odynamisk när det blir lite större datasets. Man kan ju knappast peta in alla sina user IDs i den CASE-satsen.

Den där logiken bör du även hantera i ditt server side språk och inte i databasqueryn är min bestämda åsikt.
pelmered är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 08:26.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017