Assign query results to variables. This statement retrieves column values from a single row and stores them in local variables or user-defined variables.
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 useLIMIT 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 and .
For the complete syntax, see .
Another way to set a variable's value is the statement.
SELECT ... INTO results are not stored in the even if SQL_CACHE is specified.
If you want to use this construct with UNION you have to use the syntax:
- full SELECT syntax.
- formatting and writing the result to an external file.
- binary-safe writing of the unformatted results to an external file.
This page is licensed: GPLv2, originally from
SELECT col_name [, col_name] ...
INTO var_name [, var_name] ...
table_exprSELECT id, data INTO @x,@y
FROM test.t1 LIMIT 1;
SELECT * FROM t1 WHERE t1.a=@x AND t1.b=@ySELECT * INTO @x FROM (SELECT t1.a FROM t1 UNION SELECT t2.a FROM t2) dt;