我有下表
+-----------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+------------------+------+-----+---------+----------------+
| ID | int(11) unsigned | NO | PRI | NULL | auto_increment |
| userid | int(10) unsigned | NO | MUL | NULL | |
| logintime | int(10) unsigned | NO | | NULL | |
| loginIP | int(4) unsigned | NO | | NULL | |
+-----------+------------------+------+-----+---------+----------------+
每次用户登录时,我都会在此表中插入一个新行,其中包含他们的登录时间、IP 地址等...
现在我想将每个用户的行数限制为 10!即,如果用户 ID 5 已经有 10 行并且我正在插入一个新行,我需要在插入之前删除其中最旧的行。
有没有办法编写一个DELETE
包含用户 ID 的所有条目的 SQL 语句,除了最近的 10 个条目。我知道如何使用LIMIT
a SELECT
,但我看不到如何在 a 中实现 LIMIT DELETE
。