Это эквивалент SQL eval(my_string);
:
@Expression = 'SELECT "Hello, World!";';
PREPARE myquery FROM @Expression;
EXECUTE myquery;
По сути, я объединил существующие ответы, но ни один не говорит вам, как сделать eval точно.
Если вы хотите добавить параметры, вы можете использовать это:
@username = "test";
@password = "asdf";
@Expression = 'SELECT id FROM Users WHERE name = ? AND pass = ?;'
PREPARE myquery FROM @Expression;
EXECUTE myquery USING @username, @password;
И точно ответить на оригинальный вопрос:
@Expression = 'SELECT "Hello, World!";'
PREPARE myquery FROM @Expression;
INSERT INTO Results
EXECUTE myquery;
Обратите внимание, что оператору PREPARE ... FROM
требуется переменная сеанса (с префиксом @
). Если вы попытаетесь передать нормальную переменную, он поднимает руки вверх, и это просто не волнует.