日期:2014-05-16  浏览次数:20814 次

为什么我在Mysql 中插入一条数据,然后紧接着select刚插入的记录的ID号,怎么select 出来是一个空值???
奇怪啊,

在我的存储过程中,有这么个片断,

insert   into   imeet.T_User(LoginName,NickName,)values(Login_Name,Nick_Name);

select   $UserID   =   UserID   from   t_user   where   LoginName   =   Login_Name;

结果$UserID   为空值,但是如果我上面的改为select   *   from   t_user   where   LoginName   =   Login_Name;

在调用端的dataset中就存在刚才插入的一行数据。

UserID是t_user   表的   primary_key   ,并且是auto_increable.

请问我哪里出了问题吗?是不是在Mysql   中不能直接这么得到ID   值?




------解决方案--------------------
id作为主键,用函数LAST_INSERT_ID()得到。
------解决方案--------------------
select UserID into @UserID from t_user where LoginName = Login_Name;

这样试试,注意 ‘$’ 改为 ‘@’ 了。