有谁能告诉我这样select给一个变量赋值有什么问题?在Sql server 中,应该是正确的阿
/*$EmailID 是输入参数*/
declare $UserIDTemp int;
set $UserIDTemp = 0;
/*下面这条语句明明可以看到UserID 为 1*/
select UserID from t_UserLogin where EmailID = $EmailID;
/*但是执行下面这条语句,$UserIDTemp 就是得不到UserID值*/
select $UserIDTemp = UserID from t_UserLogin where EmailID = $EmailID;
是不是Mysql 赋值只能用SET语句,但是要从一个表里取出某个数据的话也只能
用SELECE 语句而不能用SET 命令。
------解决方案--------------------declare $UserIDTemp int;
不是declare @UserIDTemp int?
------解决方案--------------------select UserID into $UserIDTemp from t_UserLogin where EmailID = $EmailID;
试试,我没试过 :)
------解决方案--------------------MYSQL中要用INTO语法。
select UserID from t_UserLogin where EmailID = $EmailID into $UserIDTemp ;
------解决方案--------------------应该用
select UserID into $UserIDTemp from t_UserLogin where EmailID = $EmailID;
注意 Mysql的语法和MS SQL的语法是不一样的。
------解决方案--------------------lz把变量名EmailID改一下就好,不能跟栏位名一样的,只是mysql存储过程的规定.