Вопрос Вопрос по программированию в Sqlite

Статус
В этой теме нельзя размещать новые ответы.
Регистрация
6 Мар 2013
Сообщения
90
Репутация
0
Спасибо
0
Монет
0
есть таблица в которой есть столбец id, в котором просто номера строчек по порядку, и столбец с некоторыми данными - например названиями вузов. у меня прописана команда удаления строк. при удалении у меня удаляется вся строка вместе с id, и при этом id не меняется. то есть если у меня было:
1 мгу
2 мфти
3 мгимо
и я удаляю вторую строку то в результате будет:
1 мгу
3 мгимо
как мне сделать так, чтобы номер id у строки мгимо поменялся и они шли по порядку?
 
Так всегда и работают базы данных. Номер id в базах данных является техническим идентификитатором, а не номером, он никогда не обновляется. Если вы хотите снабдить результаты номером, просто в языке программирования используйте дополнительную переменную. Например, если результаты sql-запроса типа select у вас в переменной results, то вы можете написать цикл типа for (int i = 0; i < results.size(); i++) { printf("%d %s ", i+1, results[1]) } где номером будет переменная, которой нумеруется массив. Если вам нужно хранить номер именно в БД, то лучше создать дополнительное поле в таблице типа integer (но не id/increment), и перезаполнять его во всех строках после удаленной каждый раз после удаления. Но так никто не делает.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху