![]() |
Sql update
Varför blir detta fel? Får man inte göra LIMIT på UPDATE?
UPDATE teams_players SET level = 1 WHERE level = 0 AND team_id = {$team_id} ORDER BY joined ASC LIMIT 1 {$team_id} är en siffra |
Vad får du för felmeddelande?
|
Beror på vilken databas du kör.
|
ORDER BY i en UPDATE känns fel?
|
Citat:
|
Tror nog att du får hämta ID't första med en order by och limit och sedan köra en update på just det ID't
|
Citat:
Du borde använda en subselect för att det ska funka bra: Kod:
UPDATE teams_players SET level = 1 Kod:
UPDATE teams_players SET level = 1 Eller nåt i den stilen.... |
Subqueries bör undvikas så långt det är möjligt.
Citat:
|
Då frecka verkar inte svara i tråden, kan jag kan flika förbi bara lite snabbt och fråga en sak.
Går det bra att använda flera "order by"? Typ: SELECT * FROM tabellnamn WHERE kolumn = 1 ORDER BY kolum1 ASC AND kolumn2 ASC LIMIT 20; ? |
Citat:
Kod:
SELECT * FROM table WHERE column = 1 ORDER BY column1 ASC , column2 DESC LIMIT 10; |
Alla tider är GMT +2. Klockan är nu 05:11. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson