SET @var:= SELECT*FROM table_name:是可能的

sur*_*tus 3 php mysql phpmyadmin set

我正在尝试编写我的MySQL查询,但我坚持这一点 - 我有从php到SQL数据库的多个查询:

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

SELECT @var, 
    table.second_column
FROM table;
Run Code Online (Sandbox Code Playgroud)

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

mel*_*okb 6

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

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

另请参阅此相关问题.