Поля
web2py DAL id
являются полями автоинкремента целого числа, с автоинкрементным поведением, обработанным механизмом базы данных.Если у вас нет реальной необходимости поддерживать последовательные значения id
без пропусков, вам, вероятно, не стоит беспокоиться об этом.(Что произойдет, если вам нужно удалить более старую запись, а не только последнюю вставленную запись? Как вы будете избегать условий гонки?)
Если вам нужно сбросить последовательность автоинкремента, вам нужно будет обратиться к соответствующейдокументация для базы данных, которую вы используете.Например, если вы используете SQLite, вы должны обновить соответствующую запись специальной таблицы sqlite_sequence
, как описано здесь (см. пример кода ).При обновлении последовательности обязательно предотвращайте любые другие записи в таблицу - в противном случае новая запись может быть вставлена с большим id
прямо перед вашим изменением.