从 MySQL 插入查询中获取新记录键 ID?

mysqlmysqli database

我们可以借助 MySQL 中的 LAST_INSERT_ID() 函数获取新记录键。首先,我们将创建一个表,然后使用 LAST_INSERT_ID() 插入记录。

让我们借助 create 命令创建一个表。

查询如下 −

mysql> create table LastInsertRecordIdDemo
   -> (
   -> id int auto_increment,
   -> value varchar(100),
   -> primary key(id)
   -> );
Query OK, 0 rows affected (0.52 sec)

创建表后,我们将插入记录并使用 LAST_INSERT_ID() 函数设置它。

mysql> insert into LastInsertRecordIdDemo values(1,'Low');
Query OK, 1 row affected (0.10 sec)

mysql> insert into LastInsertRecordIdDemo values(LAST_INSERT_ID(),'High');
Query OK, 1 row affected (0.11 sec)

现在我们可以借助 select 语句显示所有记录。

查询如下 −

mysql> select *from LastInsertRecordIdDemo;

以下是输出。

+----+-------+
| id | value |
+----+-------+
|  1 | Low   |
|  2 | High  |
+----+-------+
2 rows in set (0.00 sec)

现在要插入记录,我们需要在函数LAST_INSERT_ID()中加1。查询如下 −

mysql> insert into LastInsertRecordIdDemo values(LAST_INSERT_ID()+1,'Medium');
Query OK, 1 row affected (0.08 sec)

现在我们可以借助 select 语句显示所有记录。

mysql> select *From LastInsertRecordIdDemo;

以下是输出。

+----+--------+
| id | value  |
+----+--------+
|  1 | Low    |
|  2 | High   |
|  3 | Medium |
+----+--------+
3 rows in set (0.00 sec)

相关文章