从MySql返回最后插入的id

本文关键字:id 插入 最后 MySql 返回 | 更新日期: 2023-09-27 18:07:09

我在以下查询中遇到了一点麻烦:

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;

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

是否有任何简单的方法来获得这个值作为int/varchar?在代码中从blobs转换我觉得是多余的,我想把这个提升留给Mysql服务器。

从MySql返回最后插入的id

use

 SELECT LAST_INSERT_ID();

http://dev.mysql.com/doc/refman/5.0/en/information-functions.html function_last-insert-id

将最后一条语句改为:

SELECT CAST(@LASTID AS integer) as last_id_from_accounts;