无法在 MySql 5.7 中创建过程

Cant create procedure in MySql 5.7

我绞尽脑汁,想不通是什么问题。此 SQL 代码不适用于 MySQL 5.7

CREATE  PROCEDURE sp_create_message (queue_name VARCHAR(50), data TEXT)
DETERMINISTIC
BEGIN
    SET @stm = CONCAT('
        INSERT INTO queue_', queue_name, '
            (data)
        VALUES
            (?)
    ');
    PREPARE stm FROM @stm;
    EXECUTE stm USING data;
    DEALLOCATE PREPARE stm;
END //

#1064 - 您的请求有误。检查您正在使用的 MySQL 版本的文档,了解第 4

行关于 " 的正确语法

我现在不知道是什么问题。

EXECUTE 语句中的 USING 子句只接受用户变量,而不是直接使用来自输入参数的值。尝试像这样修改代码:

set @data=data;
EXECUTE stm USING @data;