gpt4 book ai didi

php - 如何将简单的 SQL 查询存储到用户定义的变量中并在 MySQL 中执行?

转载 作者:行者123 更新时间:2023-11-29 02:42:28 28 4
gpt4 key购买 nike

我是 MySQL 的新手,我正在尝试将 sql 语句存储到变量中:

SET @sql = 'SELECT * FROM tbl_tableName';
SELECT @sql;

它正确执行,并给我结果:

enter image description here

但是如何才能看到那个变量中存储的sql语句的结果呢?如果我执行它,它会报错。

SET @sql = 'SELECT * FROM tbl_defects';
SELECT @sql;
PREPARE stmt FROM @sql;
EXECUTE stmt;

错误:

Fatal error: Uncaught Error: Call to a member function getClauses() on null in /opt/lampp/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Query.php:567 Stack trace: #0

请任何人帮助我执行存储在变量中的 sql 语句(想要执行/检查存储在该变量中的结果。我知道我们可以直接运行并在 SQL 提示符中检查结果)?

最佳答案

要获得该变量的结果,您必须首先创建一个存储过程并执行该过程,您将获得答案。

创建存储过程:

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 ;

希望对你有帮助。

关于php - 如何将简单的 SQL 查询存储到用户定义的变量中并在 MySQL 中执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48760017/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com