Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2013, 14:29   #1
Hemul
Форумчанин
 
Регистрация: 03.10.2010
Сообщений: 321
По умолчанию Ворпрос по id полей.

Здравствуйте.Работаю в SQLite. Мне необходимо сделать такой id для полей, чтобы при удалении поля все поля ниже уменьшали свое значение на 1.
Предположим есть таблица
Код:
id      Name       Phone
1       Vasya       1111
2       Petya        2222
3       Vanya       33333
При удалении записи 2 таблица принимала вот такой вид :
Код:
id      Name       Phone
1       Vasya       1111
2       Vanya       33333
Есть ли какой-то особый тип данных для этого, или необходимо вручную декрементировать все id ниже удаляемого поля?
Hemul вне форума Ответить с цитированием
Старый 30.03.2013, 14:49   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

И почему народ зацикливается на дырках образующихся после удаления? Они абсолютно не мешают. Нужен номер по порядку, при чем здесь id? Стандартных средств нет, если очень хочется то руками, если это действительно ключ, то заморитесь это делать. В SQLite есть по-моему триггера, вот в них и мучайтесь.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 30.03.2013, 14:50   #3
Hemul
Форумчанин
 
Регистрация: 03.10.2010
Сообщений: 321
По умолчанию

Мне необходима синхронизация массива в Java программе и записей в MySQL по индексам. Поэтому и мучаюсь...
Hemul вне форума Ответить с цитированием
Старый 30.03.2013, 15:01   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Видимо это не верный подход ид использовать в качестве индекса. Порядковый номер можно так в запросе сгенерировать. SQLite съест или нет без понятия
Код:
SELECT T1.id, COUNT(*) AS NomPP
  FROM MyTable T1, MyTable T2
  WHERE T2.id<=T1.id
  GROUP BY T1.id
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 30.03.2013 в 15:10.
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Количество полей Kolik317 SQL, базы данных 11 18.10.2011 08:37
проверка полей cargo29 JavaScript, Ajax 6 21.09.2011 14:58
Привязанность полей cvetanet Microsoft Office Access 6 31.08.2011 17:31
При удалении записей значения полей с type:=Autoincrement (т.е+) в оставшихся полей не изменяются kenta БД в Delphi 2 29.10.2009 08:28
Объеденение полей запроса в для отображения нескольких полей в одном списке mrCreator Microsoft Office Access 3 08.08.2009 00:53