heksen
@heksen

Почему при удалении значения не присваеваеться последнее id?

Вообщем такой вопрос. Есть таблица. В ней есть поле id с автоприбавлением. Почему например при удалении последнего значения из таблицы, и добавлении нового приписывается новый id, а не id удаленного элемента. И можно-ли это как-то исправить?
  • Вопрос задан
  • 2532 просмотра
Пригласить эксперта
Ответы на вопрос 4
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Перестаньте пожалуйста помечать вопросы о базах данных тегами C++ и QT.
Ответ написан
Комментировать
gbg
@gbg Куратор тега C++
Любые ответы на любые вопросы
Исправить можно, но не нужно. Потому как это сильно завалит производительность.

При 32 разрядном id будет два миллиарда значений, при 64 разрядном - число с 18 нулями на конце.
Ответ написан
Комментировать
Vinatorul
@Vinatorul
Developer
1) Это вопрос скорее по SQL, а не по Qt, и уж точно не по C++
2) Скорее всего у таблицы стоит автоинкремент, посмотрите настройки идентификатора у столбца ID

Но отключать автоинкремент стоит разве что для таблиц-справочников, которые не будут обновляться, и то большой вопрос - зачем.
Ответ написан
Комментировать
gadfi
@gadfi
https://gamega.org
1. jcmvbkbc , прав ─ вопрос по бд, на каком языке написана программа обращающееся к бд неважно
2. указывайте бд
3. исправить можно, но зачем ?

учитывая что в тегах указан qt могу предположить что используете sqlite (если мне не изменяет память в qt его можно юзать из коробки, могу ошибаться на с очень давно не пишу), если да то при создании таблицы просто не пишите id integer primary key autoincrement а просто id integer primary key
но сначала задумайтесь действительно ли вам это нужно?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Сбер Санкт-Петербург
от 80 000 до 150 000 ₽
от 70 000 до 200 000 ₽
от 50 000 до 100 000 ₽