Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вставка в середину таблицы новой строки, и передвинуть нижние строки на +1 по ID 
V
    Опции темы
fervex
  Дата 27.5.2008, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 26.8.2006

Репутация: нет
Всего: нет



Здравствуйте!  smile 

Есть таблица:

Id    Name    Surname
++++++++++++++++
1     Ivan      Cherezov
2     Max       Presnin
3     Petr       Gorin
4     Fedor     Kalinin
5     Leonid    Kuptsov

Подскажите, каким запросом можно вставить строку:

2    Timur   Kirillov

так, чтобы строки с Id 2,3,4,5 в первоначальной таблице стали иметь Id 3,4,5,6, т.е. спустить все последующие строки на +1 по Id?


Спасибо! smile 
PM MAIL   Вверх
v2v
Дата 27.5.2008, 22:59 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: нет
Всего: 56



[]

Это сообщение отредактировал(а) v2v - 27.5.2008, 23:56


--------------------
PM   Вверх
skyboy
Дата 27.5.2008, 23:03 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



если тебе нужен порядок сортировки, делай его через дополнительное поле(назови его, к примеру, porjadok)
первичный ключ(коим, как я верю, у тебя выступает поле id) совсем для другого предназначен - не для сортировки.
PM MAIL   Вверх
Fortop
Дата 27.5.2008, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 4
Всего: 42



skyboy
+1

P.S. что у тебя с небритостью происходит? smile


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Feldmarschall
Дата 27.5.2008, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 3
Всего: 32



fervex, никогда так не делай, как тебе v2v написал.
PM   Вверх
fervex
Дата 27.5.2008, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 26.8.2006

Репутация: нет
Всего: нет



Спасибо!


А можно как-то сделать так, чтобы 

update table_name
set id = id + 1
where id > 1;

начинало с самого последнего id (в примере это 5), увеличивало его на +1, потом переходило к предыдущему и т.д. до 2 включительно, чтобы duplicated error не возникал?


PM MAIL   Вверх
Fortop
Дата 27.5.2008, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 4
Всего: 42



fervex
Цитата(fervex @  27.5.2008,  23:48 Найти цитируемый пост)
начинало с самого последнего id (в примере это 5), увеличивало его на +1, потом переходило к предыдущему и т.д. до 2 включительно, чтобы duplicated error не возникал?

Тебе skyboy, написал КАК нужно делать.

А менять ID у записей нельзя, иначе ты костей от базы потом не соберешь.


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
v2v
Дата 27.5.2008, 23:51 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: нет
Всего: 56



[]

Это сообщение отредактировал(а) v2v - 27.5.2008, 23:56


--------------------
PM   Вверх
Fortop
Дата 27.5.2008, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 4
Всего: 42



v2v, ну и что ты делаешь? 


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
v2v
Дата 27.5.2008, 23:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: нет
Всего: 56



Fortop, отвечаю на вопрос. думаю автор умеет читать и проанализировал все предложенные ему решения!


--------------------
PM   Вверх
Akina
Дата 28.5.2008, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



fervex, запомни навсегда - уникальный индекс-счетчик используется ТОЛЬКО для идентификации записи, организации связей и поддержания целостности. Его программное изменение - табу. 
Если нужно, чтобы в таблице было поле, имеющее какой-то внешний смысл (скажем порядковый номер) - необходимо для этого завести специальное поле.

Любое отступление от этого правила непременно принесет тебе много беспокойства в будущем.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
fervex
Дата 28.5.2008, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 26.8.2006

Репутация: нет
Всего: нет



Спасибо за советы!  smile 

Так и поступлю!


Это сообщение отредактировал(а) fervex - 28.5.2008, 16:57
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0990 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.