SELECT INTO
Syntax
SELECT col_name [, col_name] ... INTO var_name [, var_name] ... table_expr
Contents
Description
SELECT ... INTO enables selected columns to be stored directly
into variables. No resultset is produced. The query should return a single row. If the query
returns no rows, a warning with error code 1329 occurs (No data), and
the variable values remain unchanged. If the query returns multiple
rows, error 1172 occurs (Result consisted of more than one row). If it
is possible that the statement may retrieve multiple rows, you can use
LIMIT 1
to limit the result set to a single row.
The INTO clause can also be specified at the end of the statement.
In the context of such statements that occur as part of events executed by the Event Scheduler, diagnostics messages (not only errors, but also warnings) are written to the error log, and, on Windows, to the application event log.
This statement can be used with both local variables and user-defined variables.
For the complete syntax, see SELECT.
Another way to set a variable's value is the SET statement.
SELECT ... INTO
results are not stored in the query cache even if SQL_CACHE
is specified.
Examples
SELECT id, data INTO @x,@y FROM test.t1 LIMIT 1; SELECT * from t1 where t1.a=@x and t1.b=@y
If you want to use this construct with UNION
you have to use the syntax:
SELECT * INTO @x FROM (SELECT t1.a FROM t1 UNION SELECT t2.a FROM t2) dt;
See Also
- SELECT - full SELECT syntax.
- SELECT INTO OUTFILE - formatting and writing the result to an external file.
- SELECT INTO DUMPFILE - binary-safe writing of the unformatted results to an external file.