mysql - 在 MySQL 中获取最后插入的 ID 表单存储过程

标签 mysql

如何获取最后插入的 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$$

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

最佳答案

您需要使用 SET 语句。比如——

表:

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

注意,ID 字段未在 INSERT 语句中指定。该值将自动插入;当然,这个 ID 字段必须有 AUTO_INCREMENT 选项。

关于mysql - 在 MySQL 中获取最后插入的 ID 表单存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13151861/

相关文章:

java - 如何在新打开的 jframe 上关闭以前的 jframe

MySQL 行数

mysql - MYSQl 触发器创建中的语法错误

python - 连接到两个数据库

php - JSON 数据通过 AJAX 到 DIV

php - 在表标题中显示行

php - 根据 session 状态更改变量内容的错误

MySQL获取具有相同id的表的总和

php - MYSQL 不安全但为什么

php - php中的表单数据没有更新到mysql表