mysql 存储过程 返回主键

在MySQL中,可以使用LAST_INSERT_ID()函数返回存储过程插入操作的主键值。示例如下:,,“sql,DELIMITER $$,CREATE PROCEDURE insert_data(IN name VARCHAR(255), IN age INT),BEGIN, INSERT INTO users (name, age) VALUES (name, age);, SELECT LAST_INSERT_ID() as id;,END$$,DELIMITER ;,

在MySQL中,存储过程是一种预编译的SQL语句集合,可以通过调用存储过程名来执行,存储过程中可以包含逻辑和流程控制语句,以及返回结果集,要返回主键,可以使用以下方法:

1、使用LAST_INSERT_ID()函数获取最后一个插入操作生成的主键值。

mysql 存储过程 返回主键

2、使用SELECT LAST_INSERT_ID();语句获取最后一个插入操作生成的主键值。

3、在创建表时,将主键字段设置为自动递增,这样插入数据时,主键值会自动分配。

下面是一个示例:

mysql 存储过程 返回主键

1、创建一个名为students的表,包含id(主键,自动递增)、nameage字段:

CREATE TABLE students (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(255) NOT NULL,
  age INT NOT NULL
);

2、创建一个名为insert_student的存储过程,用于插入学生信息并返回主键值:

DELIMITER //
CREATE PROCEDURE insert_student(IN p_name VARCHAR(255), IN p_age INT)
BEGIN
  INSERT INTO students (name, age) VALUES (p_name, p_age);
  SELECT LAST_INSERT_ID() AS student_id;
END //
DELIMITER ;

3、调用存储过程insert_student插入一条学生记录,并获取主键值:

mysql 存储过程 返回主键

CALL insert_student('张三', 18);

执行上述代码后,会返回一个结果集,其中包含一个名为student_id的列,该列的值即为插入的学生记录的主键值。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/640101.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-05-21 06:15
下一篇 2024-05-21 06:16

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入