![]() |
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; |
Citat:
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) |
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. |
Alla tider är GMT +2. Klockan är nu 07:43. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson