2014-09-09 3 views
0

Я пытаюсь создать систему обмена сообщениями, и я wan't сделать СЛУЧИЛОСЬ это:Когда New Row Enter Удалить старые

Когда пользователь отправить сообщение, его сообщение хранится в базе данных, когда «Отправленные» достигает предела в 15 при сохранении новых сообщений, он должен удалить самую старую запись, чтобы дать место новому!

Я пробовал много решений в Интернете, но никто не работал :(

+2

вот ключевое слово для вас: 'sql trigger' –

+0

Я не понимаю :( –

+1

Просто google для« sql »и« trigger », и вы узнаете, что триггеры базы данных ждут событий (таких как вставка в таблица), а затем сделать что-нибудь (например, удалить запись из таблицы). Это то, что вы ищете. –

ответ

0

я думаю, что это может помочь

создать запрос для подсчета нет. строк в таблице

SELECT COUNT () из таблицы .........

, то при вставке нового сообщения вы проверяете, равен ли счет = 15 или нет. если он тогда сначала выполнить запрос на удаление в качестве

ценам ниже

удалить из table_name, где sentat = (выберите мин (sentat) от table_name)

после этого выполнить вставки запроса.

+0

Что делать, если есть несколько пользователей? – Strawberry

+0

WHERE id = '' И id = '' –

+0

Или просто создайте массив для использования функции implode как: "(...) WHERE id IN (" .implode (",", $ ARRAY. ")" @Strawberry –

0

Я использовал этот «ORDER BY sentat DESC LIMIT 1»