Мне нужно записать в таблицу число по порядку возрастание, а после преодоления лимита начать отчёт сначала. Как это можно сделать?
К примеру первая запись получает id=10 вторая id=20, третья id=30, четвертая снова id=10 и тд.
Коллега, судя по всему вы уже спешите реализовать триггеры и решить поставленную задачу. Но я от всей души советую подумать о том как можно решить поставленную задачу без хранения удивительных айдишников в базе. Сэкономит вам кучу нервов в будущем, а других программистов (ну вдруг такие будут) избавит от мигрени.
Тригеры хороши при конкурентной записи. Например, сразу несколько пользователей одновременно добавляют запись. Мы взяли значение предыдущего id, которое равно 20. Пока мы делаем запись, другой пользователь в то же время тоже добавляет запись равную 20. Все, в базе будет две записи, равные 30.
Сначала кажется, что это маловероятно, но когда у вас идет рекламная сеть с полумиллионным оборотом в сутки - такие события начинают появляться очень часто. Поэтому лучше подобную логику реализовать в тригерах
В чем проблема? Инкремент вам известен перед записью в таблицу. Если он превышает заданный лимит, то сбрасывается а 0. Если нет, то увеличивается и пишется в таблицу.
Написано только что