0 / 0 / 0
Регистрация: 04.09.2014
Сообщений: 15
|
|
1 | |
Автообновление id в базе данных27.09.2014, 21:28. Показов 1479. Ответов 8
Метки нет (Все метки)
Добрый день. У меня есть база данных, в ней есть элементы, каждый из которых имеет свой ID. Когда я добавляю элемент, его ID присваивается значение равное количеству строк в базе. А вот когда я удаляю элемент, то возникает пробел. Допустим, у меня есть 5 элементов. Если я удалю 3, то получится 1, 2, 4, 5. Как можно решить эту проблему?
0
|
27.09.2014, 21:28 | |
Ответы с готовыми решениями:
8
Автообновление данных контрола Автообновление данных в программе Автообновление данных в формах Автообновление данных в Grid |
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
|
|
27.09.2014, 22:05 | 2 |
На стороне базы или Qt?
Если базы - то у вашей базы должен быть флаг автоинкремента. Если через Qt - то просто находим пропущенный id и все.
0
|
31 / 35 / 11
Регистрация: 14.07.2013
Сообщений: 146
|
|
27.09.2014, 22:24 | 3 |
RazrFalcon, мне нужно решение через Qt. Вот я удалил 3 элемент, нашел его ID, а дальше что? У всех следующих элементов вычитать по единице? А если элементов 1000, то это же неэффективно будет. Или я не прав?
0
|
Ghost
174 / 174 / 40
Регистрация: 16.09.2012
Сообщений: 526
|
||||||
27.09.2014, 23:17 | 4 | |||||
1. Убиваем инкремент.
2. Убиваем первичный ключ. 3. Обнуляем значения полей. 4. Устанавливаем значение инкремента. 5. Включаем инкремент.
1
|
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
|
|
27.09.2014, 23:37 | 5 |
А зачем вам вообще необходимость в том, что бы не было пропусков этих? Это же ни на что не влияет.
"Вычитать единицу" не нужно, просто после 5-го элемента будет 3-й. То есть не по порядку будут id.
0
|
31 / 35 / 11
Регистрация: 14.07.2013
Сообщений: 146
|
|
28.09.2014, 00:05 | 6 |
RazrFalcon, я хочу реализовать функцию, которая будет задавать случайное число и делать что то с элементом, ID которого равен этому числу. В данном случае, если случайным числом окажется 4, программа работать не будет.
0
|
Ghost
174 / 174 / 40
Регистрация: 16.09.2012
Сообщений: 526
|
||||||
28.09.2014, 00:16 | 7 | |||||
верхнюю границу рандома вычислять запросом после пересчета инкремента
0
|
09.01.2015, 14:30 | 9 |
0
|
09.01.2015, 14:30 | |
09.01.2015, 14:30 | |
Помогаю со студенческими работами здесь
9
Dbgrid автообновление данных Автообновление данных с Entity Framework поиск больше 4 повторов в 2 таблицах и автообновление данных Доступ к базе данных на базе хранимых процедур MySQL из php Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |