Summary: I denne tutorial lærer du, hvordan du bruger MySQL SELECT INTO variable
til at gemme forespørgselsresultater i variabler.
MySQL SELECT INTO Variable syntaks
For at gemme forespørgselsresultatet i en eller flere variabler bruger du SELECT INTO variable
-syntaksen:
Code language: SQL (Structured Query Language) (sql)
I denne syntaks:
- c1, c2 og c3 er kolonner eller udtryk, som du ønsker at vælge og gemme i variablerne.
- @v1, @v2 og @v3 er de variabler, som gemmer værdierne fra c1, c2 og c3.
Antallet af variabler skal være det samme som antallet af kolonner eller udtryk i markeringslisten. Desuden skal forespørgslen returnere nul eller én række.
Hvis forespørgslen ikke returnerer nogen rækker, udsender MySQL en advarsel om, at der ikke er nogen data, og værdien af variablerne forbliver uændret.
Hvis forespørgslen returnerer flere rækker, udsender MySQL en fejl. For at sikre, at forespørgslen altid returnerer højst én række, bruger du LIMIT 1
-klausulen til at begrænse resultatsættet til en enkelt række.
MySQL SELECT INTO Variable eksempler
Vi vil bruge customers
-tabellen i eksempeldatabasen til demonstrationen.
MySQL SELECT INTO enkelt variabel eksempel
Den følgende anvisning henter byen for kunden med nummer 103 og gemmer den i variablen @city:
Code language: SQL (Structured Query Language) (sql)
Den følgende erklæring viser indholdet af @city-variablen:
Code language: SQL (Structured Query Language) (sql)
MySQL SELECT INTO multiple variables example
For at gemme værdier fra select-listen i flere variabler, adskiller du variablerne med kommaer. Den følgende erklæring finder f.eks. byen og landet for kundenummer 103 og gemmer dataene i to tilsvarende variabler @city og @country:
Code language: SQL (Structured Query Language) (sql)
Den følgende erklæring viser indholdet af variablerne @city og @country:
Code language: SQL (Structured Query Language) (sql)
MySQL SELECT INTO-variabel – eksempel på flere rækker
Den følgende erklæring giver anledning til en fejl, fordi forespørgslen returnerer flere rækker:
Code language: SQL (Structured Query Language) (sql)
Her er resultatet:
Code language: SQL (Structured Query Language) (sql)
For at rette det bruger du LIMIT 1
-klausulen som følger:
Code language: SQL (Structured Query Language) (sql)
I denne vejledning har du lært at bruge MySQL SELECT INTO variable
-syntaksen til at gemme resultatet af en forespørgsel i en eller flere variabler.
- Var denne vejledning nyttig?
- JaNej