从MySql返回最后一个插入的id

时间:2011-08-29 12:32:26

标签: c# asp.net mysql

我在使用以下查询时遇到了一些麻烦:

START TRANSACTION;

SET @LASTID = 0;

INSERT INTO `Accounts` (`Col1`,`col2`,`col3`,`col4`)
                VALUES (@param1,@param2,@param3,@param4);

SET @LASTID = last_insert_id(); -- This is what I need

INSERT INTO `Users` (`usr1`,`usr2`,`usr3`,`usr4`)
             VALUES (@usr1,@usr2,@usr3,@usr4);

SELECT @LASTID;
COMMIT;

基本上,我需要从accounts表中返回最后一个插入的ID,但是当运行SELECT @LASTID时,MySql返回一个blob而不是一个值,我在C#asp.net中访问时遇到了麻烦

有没有简单的方法将此值作为int / varchar?从代码中的blob转换我觉得有点矫枉过正,我想把它提升到Mysql服务器。

提前致谢。

2 个答案:

答案 0 :(得分:4)

答案 1 :(得分:1)

将最后一个语句更改为:

SELECT CAST(@LASTID AS integer) as last_id_from_accounts;