Sammanfattning: I den här handledningen lär du dig hur du använder MySQL SELECT INTO variable
för att lagra frågeresultat i variabler.
MySQL SELECT INTO Variable syntax
För att lagra frågeresultatet i en eller flera variabler använder du SELECT INTO variable
-syntaxen:
Code language: SQL (Structured Query Language) (sql)
I den här syntaxen:
- c1, c2 och c3 är kolumner eller uttryck som du vill välja och lagra i variablerna.
- @v1, @v2 och @v3 är de variabler som lagrar värdena från c1, c2 och c3.
Antalet variabler måste vara detsamma som antalet kolumner eller uttryck i urvalslistan. Dessutom måste frågan återge noll eller en rad.
Om frågan inte återger några rader utfärdar MySQL en varning om att det inte finns några data och värdet på variablerna förblir oförändrat.
Om frågan återger flera rader utfärdar MySQL ett fel. För att säkerställa att frågan alltid returnerar högst en rad använder du LIMIT 1
-klausulen för att begränsa resultatmängden till en enda rad.
MySQL SELECT INTO Variable examples
Vi kommer att använda tabellen customers
i exempeldatabasen för demonstrationen.
MySQL SELECT INTO single variable example
Följande anvisning hämtar staden för kunden med nummer 103 och lagrar den i variabeln @city:
Code language: SQL (Structured Query Language) (sql)
Följande uttalande visar innehållet i variabeln @city:
Code language: SQL (Structured Query Language) (sql)
MySQL SELECT INTO multiple variables example
För att lagra värden från urvalslistan i flera variabler separerar du variablerna med kommatecken. Följande uttalande hittar till exempel stad och land för kundnummer 103 och lagrar uppgifterna i två motsvarande variabler @city och @country:
Code language: SQL (Structured Query Language) (sql)
Följande uttalande visar innehållet i variablerna @city och @country:
Code language: SQL (Structured Query Language) (sql)
MySQL SELECT INTO variable – multiple rows example
Följande uttalande orsakar ett fel eftersom frågan returnerar flera rader:
Code language: SQL (Structured Query Language) (sql)
Här är resultatet:
Code language: SQL (Structured Query Language) (sql)
För att åtgärda problemet använder du LIMIT 1
-klausulen enligt följande:
Code language: SQL (Structured Query Language) (sql)
I den här handledningen har du lärt dig hur du använder MySQL SELECT INTO variable
-syntaxen för att lagra resultatet av en fråga i en eller flera variabler.
- Var den här handledningen till hjälp?
- JaNej