mysql的into语法错误,MySQL DECLARE中的​​SELECT INTO变量会导致语法错误?

I´d like to SELECT a single value into a variable. I´d tried to following:

DECLARE myvar INT(4);

-- immediately returns some syntax error.

SELECT myvalue

FROM mytable

WHERE anothervalue = 1;

-- returns a single integer

SELECT myvalue

INTO myvar

FROM mytable

WHERE anothervalue = 1;

-- does not work, also tried @myvar

Is possible to use DECLARE outside of stored procedures or functions?

Maybe I just dont get the concept of user variables... I just tried:

SELECT myvalue INTO @var FROM `mytable` WHERE uid = 1;

SELECT @var;

...which worked just like it´s supposed to. But if I run each query at a time i just get @var NULL.

解决方案

In the end a stored procedure was the solution for my problem. Here´s what helped:

DELIMITER //

CREATE PROCEDURE test ()

BEGIN

DECLARE myvar DOUBLE;

SELECT somevalue INTO myvar FROM mytable WHERE uid=1;

SELECT myvar;

END

//

DELIMITER ;

call test ();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值