|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.02.2015, 13:18 | #1 |
Недотепа
Форумчанин
Регистрация: 18.01.2011
Сообщений: 174
|
Добавить строку в середину таблицы
Здравствуйте, как добавить строку в середину таблицы, чтобы не нарушилась последовательность?
id - авто инкремент position - к последней добавленной строке прибавляется единица. По нему я сортирую. id position file 01 1 cat.jpg 14 2 straus.jpg 15 3 dog.jpg 18 4 bird.jpg 22 5 fish.jpg Как вставить "human.jpg" между 1 и 2, но чтобы получилось так: id position file 01 1 cat.jpg 23 2 human.jpg 14 3 straus.jpg 15 4 dog.jpg 18 5 bird.jpg 22 6 fish.jpg |
27.02.2015, 13:23 | #2 |
Форумчанин
Регистрация: 16.01.2015
Сообщений: 672
|
update + insert
|
27.02.2015, 13:24 | #3 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Предположу:
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
27.02.2015, 15:16 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
А если такая операция часто встречается и таблица большая? По каждой такой вставке обновлять в среднем половину записей? Уж точно лучше в это поле писать какой-то суррогат, позволяющий между двумя соседними записями некую середину находить. Типа между 100 и 200 - 150. И только когда уже не возможно - или реорганизовать, или так как выше предложили. Лучше реорганизовать, дав возможность опять середину находить. Собственно выше предложенный вариант и есть реорганизация, только она будет повторяться каждый раз
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 27.02.2015 в 15:19. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Listbox добавить строку | Кольша | Общие вопросы Delphi | 1 | 12.01.2012 18:57 |
добавить в середину массива n элементов | Lerris | Общие вопросы C/C++ | 0 | 16.12.2011 21:50 |
добавить в середину массива n элементов | Lerris | Общие вопросы C/C++ | 2 | 14.12.2011 21:47 |
Добавить строку | SkrudjMakdak | Microsoft Office Excel | 1 | 05.09.2010 18:06 |
Добавить строку в TStringList | мимо | Общие вопросы Delphi | 11 | 17.02.2010 18:42 |