有哪位高手能告诉小弟我这样select给一个变量赋值有什么有关问题?在Sql server 中,应该是正确的阿
有谁能告诉我这样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存储过程的规定.
/*$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存储过程的规定.