我是MySQL新手,我试图将sql语句存储到变量中:
SET @sql = 'SELECT * FROM tbl_tableName';
SELECT @sql;它正确执行,并给出了结果:

但是如何看到存储在该变量中的sql语句的结果呢?如果我执行它,它会产生一个错误。
SET @sql = 'SELECT * FROM tbl_defects';
SELECT @sql;
PREPARE stmt FROM @sql;
EXECUTE stmt;错误:
致命错误:未捕获错误:调用/opt/lampp/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Query.php:567堆栈跟踪中null上的成员函数getClauses():#0
请帮助我执行存储在变量中的sql语句(希望执行/检查存储在该变量中的结果)。我知道我们可以直接运行并在SQL提示符中检查结果)?
发布于 2018-02-13 05:43:58
要获得该变量的结果,您必须首先创建一个stored procedure并执行该过程,您将得到答案。
创建存储过程:
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `test`()
BEGIN
SET @sql = ('SELECT * FROM tbl_defects');
SELECT @sql;
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END$$
DELIMITER ;希望这能帮到你。
https://stackoverflow.com/questions/48760017
复制相似问题