MySQL LAST_INSERT_ID() 函数
时间:2022-12-24
MySQL LAST_INSERT_ID()
函数返回自动增长列为最后一次插入生成的值。
LAST_INSERT_ID()
语法
这里是 MySQL LAST_INSERT_ID()
函数的语法:
LAST_INSERT_ID(expr)
参数
expr
- 可选的。 一个表达式,它应该返回一个整数。
返回值
如果没有参数,LAST_INSERT_ID()
函数返回自动增长列为最后一次插入生成的值。
如果使用单个 INSERT
语句插入多行,LAST_INSERT_ID()
仅返回为第一个插入的行生成的值。
如果有参数,LAST_INSERT_ID()
函数该参数的值,并将此值记住为LAST_INSERT_ID()
函数返回的下一个值。
LAST_INSERT_ID()
示例
下面的示例展示了如何使用 LAST_INSERT_ID()
函数。
首先,让我们创建一个表 test_last_insert_id
:
CREATE TABLE test_last_insert_id(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
s VARCHAR(30) NOT NULL
);
让我们插入 1 行以供测试:
INSERT INTO test_last_insert_id (s) VALUES ('a');
让我们查询一下表中的数据:
SELECT * FROM test_last_insert_id;
+----+---+
| id | s |
+----+---+
| 1 | a |
+----+---+
让我们通过 LAST_INSERT_ID()
函数获取最后插入的自增列的值:
SELECT LAST_INSERT_ID();
+------------------+
| LAST_INSERT_ID() |
+------------------+
| 1 |
+------------------+
让我们插入 2 行以供测试:
INSERT INTO test_last_insert_id (s) VALUES ('b'), ('c');
让我们查询一下表中的数据:
SELECT * FROM test_last_insert_id;
+----+---+
| id | s |
+----+---+
| 1 | a |
| 2 | b |
| 3 | c |
+----+---+
让我们通过 LAST_INSERT_ID()
函数获取最后插入的自增列的值:
SELECT LAST_INSERT_ID();
+------------------+
| LAST_INSERT_ID() |
+------------------+
| 2 |
+------------------+
这里,您可能会问结果为什么是 2 而不是 3 ? 这是因为,如果使用单个 INSERT
语句插入多行,LAST_INSERT_ID()
仅返回为第一个插入的行生成的值。
特别声明:本站部分内容收集于互联网是出于更直观传递信息的目的。该内容版权归原作者所有,并不代表本站赞同其观点和对其真实性负责。如该内容涉及任何第三方合法权利,请及时与824310991@qq.com联系,我们会及时反馈并处理完毕。