Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
в auto_increment по порядку (Vitcom) 26/04/2005 - 10:53:58
      Re: в auto_increment по порядку (Alec) 26/04/2005 - 12:36:11
      Re: в auto_increment по порядку (Lev) 26/04/2005 - 15:19:47
      Re: Автонумерация - это интересная тема :) (Валентин) 27/04/2005 - 13:41:55
      Re: в auto_increment по порядку (Master) 29/04/2005 - 18:02:21
      Re: в auto_increment по порядку (Dinky) 29/04/2005 - 19:06:08
      Re: в auto_increment по порядку (Lev) 01/05/2005 - 07:05:07
      Re: в auto_increment по порядку (RE) 13/05/2005 - 00:24:45
      Re: в auto_increment по порядку (Bard) 25/08/2005 - 18:27:35
      Re: в auto_increment по порядку (йй) 29/06/2010 - 17:21:50
      Re: в auto_increment по порядку (JpS) 01/10/2011 - 16:06:52
      Re: в auto_increment по порядку (Zmej) 01/02/2012 - 10:09:33

> Original message text:
> From: Vitcom - 26/04/2005 - 10:53:58
> Subject:в auto_increment по порядку
> -----------------
> Помогите начинающему
>
> Как заполнить поле auto_increment цифрами по порядку
>
> Старые записи переодически удаляются - получаются очень большие разрывы - а новые записи добавляются в конец списка.
>
> Можно ли это решить при помощи MySQL либо это можно сделать на PHP если на PHP подскажите рациональное решение.
>
>
> Заранее спасибо
>
>


From: JpS - 01/10/2011 - 16:06:52
Subject:в auto_increment по порядку
-----------------
Вот уж воистину, таков менталитет гуру. Вместо конкретного ответа - размышления о каких-то ненужных вещах и раздувание щек.
Сам вышел на этот топик в поиске гугла, потому что столкнулся именно с такой задачей. В очень большой базе данных по истечени времени "появилось" новое поле (редезайн базы данных произошел). возникла колонка с полем автоинкремента. Я _был уверен_ что запулню эту колонку если не автоматически, то уж каким-то простым запросом. Потыкавшись, я понял что моих минимальных знаний SQL оказалось недостаточно и я полез искать в гугль. И нашел данный пост. Прочитал все ответы до конца, плюнул, закрыл страницу и пошел искать дальше ("с перрламутровыми пуговицами"). И буквально минут через 15 сам догадался до "костыльного" решения. Но мне его хватило (ибо операция разовая). Не поленился, нашел пост и решил отписать как же я ее решил.
А решил я ее так:
Создал вторую таблицу, где было на одно поле больше (на новое, с автоинкрементом) и выполнил такой вот запрос:

INSERT INTO big_table_copy (SELECT @rownum:=@rownum+1,t.* FROM big_table t, (SELECT @rownum:=0) r)

в моем случае новое поле было в начале таблицы, в другом случае придется слегка изменить запрос.
Ну и потом таблицы поменять местами - это уже дело плевое.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
41003



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |