设置@var := 从table_name中选择 * :可能吗?


SET @var := SELECT * FROM table_name: is it possible

我正在尝试编写我的MySQL查询,但我被困在这个问题上 - 我从我的php到SQL数据库有多个查询:

SET @var := SELECT MAX(first_column)
    FROM table;
SELECT @var, 
    table.second_column
FROM table;

但它返回 SQL 错误。当我在phpmyadmin中使用它时,它工作正常。我用谷歌搜索过,我看到人们只在存储过程中使用"SET @var = MySQL query"。是否可以按照我想要的方式使用它?

如果您正在运行多个查询(即,您的查询中有一个;),则需要将其作为两个单独的查询运行,或者使用类似 mysqli_multi_query 的命令。 mysql_query命令一次只能运行一个查询。

mysql_query('SET @VAR := SELECT MAX(first_column) FROM TABLE');
mysql_query('SELECT @var, table.second_column FROM table');

另请参阅此相关问题。

SELECT MAX(first_column) INTO @var FROM table; 
SELECT @var,table.second_column FROM table;