带声明的MySQL动态查询
我想问一下,是否可以在动态查询中声明变量 i、 e: 但是我得到了语法错误:带声明的MySQL动态查询,mysql,variables,declare,Mysql,Variables,Declare,我想问一下,是否可以在动态查询中声明变量 i、 e: 但是我得到了语法错误:您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第1行“DECLARE x INT(11)”附近使用的正确语法 谢谢 仅允许在BEGIN中使用First-DECLARE。。。结束复合语句 第二,并非所有的stataments都可以用在PREPARE语句中,这里有更多的细节 但是你可以用这样的东西- SET @text = 'something'; SET @var = NULL; SET @query
您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第1行“DECLARE x INT(11)”附近使用的正确语法
谢谢- 仅允许在BEGIN中使用First-DECLARE。。。结束复合语句
- 第二,并非所有的stataments都可以用在PREPARE语句中,这里有更多的细节
SET @text = 'something';
SET @var = NULL;
SET @query = 'SELECT ? INTO @var';
PREPARE s FROM @query;
EXECUTE s USING @text;
DEALLOCATE PREPARE s;
SELECT @var;
+-----------+
| @var |
+-----------+
| something |
+-----------+
您好@Devart,我的
PREPARE
语句实际上在存储过程中。编辑我的问题。谢谢:DAnyway,DECLARE语句不能用于已准备好的语句。尝试使用用户变量(@var1,@var2,…)。我明白了,其他语句还不受支持。谢谢。我想我别无选择,只能使用会话变量
。
SET @text = 'something';
SET @var = NULL;
SET @query = 'SELECT ? INTO @var';
PREPARE s FROM @query;
EXECUTE s USING @text;
DEALLOCATE PREPARE s;
SELECT @var;
+-----------+
| @var |
+-----------+
| something |
+-----------+