MySQL 查询执行删除操作,其中 id 最大?

mysqlmysqli database更新于 2024/12/28 19:56:17

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

首先我们创建一个表 −

mysql> create table DemoTable
(
   UserId int,
   UserName varchar(20)
);
Query OK, 0 rows affected (0.57 sec)

使用 insert 命令在表中插入记录 −

mysql> insert into DemoTable values(100,'John');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values(234,'Mike');
Query OK, 1 row affected (0.28 sec)
mysql> insert into DemoTable values(145,'Sam');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values(278,'Carol');
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable values(289,'David');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(277,'Bob');
Query OK, 1 row affected (0.14 sec)

使用 select 命令显示表中的记录 −

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;
Query OK, 1 row affected (0.15 sec)

让我们显示表中的所有记录,以检查最大的 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)

相关文章


有用资源