从 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)