Я новичок в 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;
ошибка:
Неустранимая ошибка: необработанная ошибка: вызов функции-члена getClauses () в
ноль в
/opt/lampp/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Query.php:567
Трассировка стека: # 0
Пожалуйста, помогите мне выполнить оператор sql, хранящийся в переменной (Хотите выполнить / проверить результат, сохраненный в этой переменной. Я знаю, что мы можем напрямую запустить и проверить результат в командной строке SQL)?
Чтобы получить результат для этой переменной, вы должны сначала создать 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 ;
Надеюсь, это поможет вам.
Других решений пока нет …