在MySQL中获取最后插入的ID表单存储过程 [英] Fetch last inserted ID form stored procedure in MySQL

查看:141
本文介绍了在MySQL中获取最后插入的ID表单存储过程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何获取最后插入的ID?

CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_insertzonemsg`

   (IN User_Id INT(10),
    IN zid INT(10),
    IN update_titles VARCHAR(50),
    IN textarea1s TEXT,
    IN filupload1s TEXT,
    IN audio1s VARCHAR(100),
    OUT out_id INT(10))
        BEGIN
        INSERT INTO zone_message_master
        **(user_id,ZoneID,update_title,textarea1,filupload1,
        audio1,LastUpdate)**
        VALUE
        **(User_Id,zid,update_titles,textarea1s,
        filupload1s,audio1s,NOW());**

SELECT **id** as **out_id**
FROM **zone_message_master** LAST_INSERT_ID();
END$$

我需要从表zone_message_master中返回最后插入的ID作为out_id吗?

I need to return last inserted ID as out_id form the Table zone_message_master?

推荐答案

您需要使用SET语句.例如-

You need to use SET statement. For example -

表格:

CREATE TABLE table1(
  id INT(11) PRIMARY KEY AUTO_INCREMENT,
  column1 VARCHAR(10),
  column2 VARCHAR(10)
);

程序的正文:

BEGIN
  INSERT INTO table1(column1, column2) VALUES ('value1', 'value2');
  SET out_param = LAST_INSERT_ID();
END

请注意,未在INSERT语句中指定ID字段.此值将自动插入;并且当然,此ID字段必须具有AUTO_INCREMENT选项.

Note, that ID field is not specified in INSERT statement. This value will be inserted automatically; and of course, this ID field must have AUTO_INCREMENT option.

这篇关于在MySQL中获取最后插入的ID表单存储过程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆