创建个存储过程
CREATE PRO AAA(IN AAA INT, OUT N INT)
BEGIN
INSERT INTO XXX...
然后我把最后插入生成见赋值给N

SELECT N
为什么 外面得不到 N返回的是1
END

解决方案 »

  1.   

    我是插入一条数据 然后返回 last_insert_id()值,我记要OUT参数返回,又想SELECT  last_insert_id()返回,但是 SELECT 返回取不到之返回了INSERT成功的1
    INSERT .....
    SET N= last_insert_id();
    SELECT N
      

  2.   

    你把last_insert_id()插入到临时表中保存,再取出
      

  3.   

    给出你的完整 create procedure aaa 以供分析。问题说明越详细,回答也会越准确!参见如何提问。(提问的智慧
      

  4.   

    CREATE*/ /*!50020 DEFINER=`root`@`localhost`*/ /*!50003 PROCEDURE `ManageMentUserAdd`(UserName varchar(40),CategoryId varchar(15),out n int(11))
    BEGIN
    INSERT INTO `managementuser`
    (
    `UserName`,
    `CategoryId`,
    )
    VALUES
    (
    UserName,
    CategoryId,
    );
    set n = last_insert_id();
    select n;
    END */;;但是 SELECT N 取不到 返回是插入成功1
      

  5.   

    INSERT INTO `managementuser`(`UserName`,`CategoryId`,)VALUES(UserName,CategoryId,);两个问题。语法上不对,多了个,另外你确认你的记录插入成功了吗? 
      

  6.   

    删了字段没去掉,插入肯定成功了 就是取不到最后的ID OUT N 可以取到,就是 SELECT的取不到 返回是插入成功记录数1
      

  7.   

    给出一个准确的create procedure 语句,否则别人基于你提供的错误代码,分析了也是浪费时间。给出你的 create procedure .., ceate table `managementuser`, 和你 call `ManageMentUserAdd` ( 语句,以供他人测试分析。