Mysql Все значения пронумеровать

12
AN
На сайте с 05.06.2004
Offline
243
#11

И потом ковыряяяяяяяяяяяяяяяяяяяетесь с другими таблицами, связанными с этой по id.....

Размещу ваши баннеры на посещаемых сайтах. Места еще есть! Возможен безнал. (/ru/forum/324945) Нужны копирайтеры/рерайтеры - медики. Пишите в личку. (/ru/forum/676932)
[Удален]
#12

Щас попробую, но у меня простейшая база и ничего не связано в id просто пронумеровать нужно так как вид урл типа 5465432483434684 я думаю некрасиво :)

I
На сайте с 29.04.2006
Offline
135
#13
СКОРПИОН:
Советчики... :(


alter table table_name drop id;
alter table table_name add ID int(11) NOT NULL auto_increment, add primary key(ID);

Как помню из своей практики, пересчитывает он это не с 0....

Один хороший человек подсказал хороший скриптик для этого:


$sql = "select id from table order by id asc";
$result = mysql_query($sql);
$i = 1;
while ($row = mysql_fetch_array($result)) {
mysql_query("update table set id='$i' where id='$row[id]'");
$i++;
}
mysql_query('ALTER TABLE table AUTO_INCREMENT=$i');

R
На сайте с 05.07.2007
Offline
8
#14
ipconfig:
Как помню из своей практики, пересчитывает он это не с 0....

Один хороший человек подсказал хороший скриптик для этого:

Правильно помните, начинается с 1, если спец. условий не задавать, а 0 резервное значение.

Если у поля id не было инкримента или ключевых значений, то способ СКОРПИОНа должен сработать.

I
На сайте с 29.04.2006
Offline
135
#15
relo:
Правильно помните, начинается с 1, если спец. условий не задавать, а 0 резервное значение.

Если у поля id не было инкримента или ключевых значений, то способ СКОРПИОНа должен сработать.

А никто не говорил, что его там небыло.. он наверняка там был..

sun
На сайте с 22.10.2005
Offline
81
sun
#16

Что то не понял если у вас всего 1000 записей осталась, сколько до этого было?

id используется для уникального ключа и строится индекс по нему.

Можно сделать как советуют выше, но смысла в этом я не вижу. Разница между url?id=1 или url?id=3456 нет ни какой, к тому же, если ваш сайт проиндексирован поисковиками, то лишний геморрой.

devmen.com (http://devmen.com/)
R
На сайте с 05.07.2007
Offline
8
#17
ipconfig:
А никто не говорил, что его там небыло.. он наверняка там был..

Возможно и не было:

KosoyRoman:
Щас попробую, но у меня простейшая база и ничего не связано

Даже если и был, способ может сработать. Если не сработает, то сделать дамп без колонки id, и руками приписать создание колонки id с инкриментом перед импортом.

[Удален]
#18

Решил проблему.

Сначало выполняю

alter table table_name drop id;

затем выполняю

alter table table_name add ID int(11) NOT NULL auto_increment, add primary key(ID);

в итоге получается с 1

почемуто если сразу оба запроса делать то начинает нумеровать с max(id)

Всем огромнейшее спасибо!!

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий