У меня есть следующая таблица
+-----------+------------------+------+-----+---------+----------------+
| 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 на пользователя!то есть, если уже есть 10 строк для идентификатора пользователя 5, и я вставляю новую, мне нужно удалить самую старую из них перед вставкой.
есть ли способ написать инструкцию SQL, которая DELETE
s все записи идентификатора пользователя, кроме последних 10.Я знаю, как использовать LIMIT
для SELECT
, но не могу понять, как я могу реализовать LIMIT в DELETE
.