我在执行以下查询时遇到了一些问题:
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 获取?我觉得从代码中的 blob 进行转换有点过分了,我想把这个工作留给 Mysql 服务器。
提前致谢。
最佳答案
使用
SELECT LAST_INSERT_ID();
http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_last-insert-id
关于c# - 从 MySql 返回最后插入的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7230116/