Задавайте вопросы, мы ответим
Вы не зашли.
здравствуйте, возникла следующая проблема.
Необходимо, чтобы в таблице постоянно было 10 запсией, как только происходит запись 11 строки, необходимо удалить самую старую (первую). Как я понимаю надо использовать тригер. Или можно как-то ещё?
Неактивен
Здравствуйте.
Ну да, видимо триггером. Для гарантии количества записей при создании таблицы можно указать
MAX_ROWS=...
Неактивен
Т.е, просто при создании указать max_rows, и при каждом inserte, удалять первую строку. Это не очень хорошо, т.к. в таблице должно быть точно 10 записей, а если меньше, то столько и остнется
Неактивен
MAX_ROWS сможет ограничить только сверху . Да тут главное триггер правильно реализовать, MAX_ROWS скорее просто подстраховка небольшая. Если не хочется триггером, то да - перед каждым insert'ом удалять одну строку.
Неактивен
А не подскажите примерчик какого-нибудь похожего тригера?) Просто delete перед insert, мне тоже не очень подходит, все немного сложнее чем я описал) Таблица состои из 50 строчек, каждый 5 строчек описывают поведение 5 параметров, и каждую минуту вставляются новые значения, вот после 10 минут, надо удалить первые 5 строчек. И как составить запрос, который удалит просто первые пять строчек, не использую where, т.к. конкретного поля, значения которого я могу сравнить я не имею.
Неактивен
В описанном случае никак. Нужно завести автоинкрементное поле и по нему удалять.
Неактивен
Спасибо, так я и сделал!
Неактивен