求达人给解释一下=,:=,select into的区别
mysql菜鸟。刚写存储过程练手。代码如下:
CREATE DEFINER=`root`@`localhost` PROCEDURE `CheckIsUserLogin`(UserName_INPUT varchar(20),UserPass_INPUT varchar(50))
begin
DECLARE ID_Temp int;
SET ID_Temp:=0;
SELECT ID_Temp=ID FROM `Users` WHERE UserName=UserName_INPUT AND UserPass=UserPass_INPUT;
select IF(ID_Temp>0,1,0);
end;
CPU瞬间顶满不执行不报错
后各种百度把SELECT语句改为:
SELECT ID INTO ID_Temp FROM `Users` WHERE UserName=UserName_INPUT AND UserPass=UserPass_INPUT;
后出正确结果
但是概念比较模糊,不了解=,:=和select into的区别,百度无果,求助各位大侠指点迷津,谢谢~
------解决方案-------------------- 仔细看看我的代码,找找区别
SELECT @ID_Temp:=ID FROM `Users` WHERE UserName=UserName_INPUT AND UserPass=UserPass_INPUT;
OR
SELECT ID INTO ID_Temp FROM `Users` WHERE UserName=UserName_INPUT AND UserPass=UserPass_INPUT;
------解决方案-------------------- 探讨 引用: 而且在执行procedure的时候会有打印相对于的变量值 一直执行的时间。 打印相对于的变量值 一直执行的时间。 这是啥意思啊
------解决方案--------------------
引用 SELECT ID_Temp=ID FROM `Users` WHERE UserName=UserName_INPUT AND UserPass=UserPass_INPUT;