我的数据库使用 mysql workbench 6.2。
我创建了执行查询字符串的过程,但变量“declare @str varchar(2000)”出现“意外语法错误”错误。我尝试删除变量中的“@”,但它在“PREPARE stmt FROM str;”行中无效。它通知错误“意外的 str”
这是我的代码:
CREATE DEFINER=`root`@`localhost` PROCEDURE `new_procedure`()
BEGIN
declare @str varchar(2000) DEFAULT '';
set @str = 'select * from category;';
PREPARE stmt FROM @str;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END
最佳答案
未声明 session 变量。你不需要(也不能做)
DECLARE @str varchar(2000) DEFAULT '';
仅需要您已有的套件
SET @str = 'select * from category;';
顺便说一句,在这种情况下最好将 session 变量命名为唯一的名称(以防调用过程的连接已使用其他名称的简单名称)。
关于mysql - 在 mysql workbench 6.2 中使用声明@语法错误意外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31544247/