在MySQL中,select @@ identity有什么作用?

@@ identity返回当前会话中auto_increment列中最后插入的值。让我们首先创建一个表-

mysql> create table DemoTable(
   UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   UserName varchar(100)
);

使用插入命令在表中插入一些记录-

mysql> insert into DemoTable(UserName) values('David');
mysql> insert into DemoTable(UserName) values('Mike');
mysql> insert into DemoTable(UserName) values('Carol');
mysql> insert into DemoTable(UserName) values('Robert');
mysql> insert into DemoTable(UserName) values('John');

使用select语句显示表中的所有记录-

mysql> select *from DemoTable;

这将产生以下输出-

+--------+----------+
| UserId | UserName |
+--------+----------+
| 1      | David    |
| 2      | Mike     | 
| 3      | Carol    |
| 4      | Robert   |
| 5      | John     |
+--------+----------+
5 rows in set (0.00 sec)

现在,我们将使用@@ identity-

mysql> select @@identity;

这将产生以下输出-

+------------+
| @@identity |
+------------+
| 5          |
+------------+
1 row in set (0.00 sec)