MySQL查询执行ID最大的删除操作?

您可以为此使用LIMIT 1的ORDER BY DESC命令,因为我们只需要删除一个ID。

让我们首先创建一个表-

mysql> create table DemoTable
(
   UserId int,
   UserName varchar(20)
);

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

mysql> insert into DemoTable values(100,'John');
mysql> insert into DemoTable values(234,'Mike');
mysql> insert into DemoTable values(145,'Sam');
mysql> insert into DemoTable values(278,'Carol');
mysql> insert into DemoTable values(289,'David');
mysql> insert into DemoTable values(277,'Bob');

使用选择命令显示表中的记录-

mysql> select *from DemoTable;

这将产生以下输出-

+--------+----------+
| UserId | UserName |
+--------+----------+
| 100    | John     |
| 234    | Mike     |
| 145    | Sam      |
| 278    | Carol    |
| 289    | David    |
| 277    | Bob      |
+--------+----------+
6 rows in set (0.00 sec)

以下是执行删除的查询,其中id是最大的-

mysql> delete from DemoTable order by UserId DESC limit 1;

让我们显示表中的所有记录,以检查最大的ID是否已删除。在这里,ID 289已成功删除-

mysql> select *from DemoTable;

这将产生以下输出-

+--------+----------+
| UserId | UserName |
+--------+----------+
| 100    | John     |
| 234    | Mike     |
| 145    | Sam      |
| 278    | Carol    |
| 277    | Bob      |
+--------+----------+
5 rows in set (0.00 sec)