Сброс идентификатора базы данных web2py после удаления записей - PullRequest
0 голосов
/ 21 мая 2018

Есть ли способ в Web2py сбросить идентификатор таблицы после удаления некоторых строк.Допустим, у меня есть 15 записей, и я удаляю последние 5, если я вставлю новую запись, она начнется с идентификатора 16, который я предпочитаю начинать с 11.

1 Ответ

0 голосов
/ 21 мая 2018
Поля

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

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

...