MySQL insert 返回id

2024年08月02日 MySQL insert 返回id 极客笔记

MySQL insert 返回id

MySQL 中,当我们向数据库中插入一条新记录时,有时候会需要获取刚插入记录的id,以便之后进行相关操作或者返回给前端显示。本文将详细介绍在 MySQL 中进行 insert 操作并获取新插入记录的id的方法。

基本的 INSERT 语句

首先我们先来回顾一下在 MySQL 中执行基本的插入操作的语法:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

在这个语句中,我们通过 INSERT INTO 关键字指定要插入数据的表名,然后在括号中列出要插入数据的字段名,再在 VALUES 关键字后指定对应的值。

举个示例,假设我们有一个名为 users 的表,包含 idnameage 三个字段,我们要插入一条新的用户记录,可以这样写:

INSERT INTO users (name, age)
VALUES ('Alice', 25);

这样就会向 users 表中插入一条 name 为 ‘Alice’、age 为 25 的记录。

使用 LAST_INSERT_ID() 函数获取刚插入记录的 id

在 MySQL 中,可以使用 LAST_INSERT_ID() 函数来获取刚插入记录的 id。这个函数会返回最近插入记录的自增 id。

SELECT LAST_INSERT_ID();

在插入记录后,我们可以执行这个语句来获取刚插入记录的 id。

INSERT INTO users (name, age)
VALUES ('Bob', 30);

SELECT LAST_INSERT_ID();

假设我们刚刚插入了一条 name 为 ‘Bob’、age 为 30 的记录,那么执行以上两条语句后,会得到刚插入记录的 id。

在 INSERT 语句中使用 SELECT LAST_INSERT_ID()

除了在插入记录后再执行 LAST_INSERT_ID() 外,还可以在 insert 语句中直接获取刚插入记录的 id。

INSERT INTO users (name, age)
VALUES ('Charlie', 35);

SELECT LAST_INSERT_ID();

我们可以借助 SELECT LAST_INSERT_ID() 将其作为一个子查询插入到数据库中,这样就能够在插入记录的同时获取刚插入记录的 id。

INSERT INTO users (name, age, created_at)
VALUES ('David', 40, NOW()), (SELECT LAST_INSERT_ID());

这样就可以在插入名为 ‘David’、年龄为 40 的记录后,将刚插入记录的 id 也一并插入到数据库中。

结语

通过本文的介绍,我们学会了在 MySQL 中插入记录并获取刚插入记录的 id 的方法。无论是通过 LAST_INSERT_ID() 函数还是在 INSERT 语句中使用 SELECT LAST_INSERT_ID(),都可以轻松地获取到刚插入记录的id,方便我们进行后续操作。

本文链接:http://so.lmcjl.com/news/9809/

展开阅读全文