Пересчитать auto_increment....

I
На сайте с 29.04.2006
Offline
135
4108

Стоит задача пересчитать auto_increment....

Если просто менять в опциях базы через phpmyadmin - не помогает. Цифра не меняется.

Вопрос. Как?

Если снимать с поля auto_increment, и убирать PRIMARY KEY... то не помогает.. создаю новое поле с ним и цифры прибавляются к прошлому числу. А требуется чтоб пересчиталось с 0....

DI
На сайте с 03.01.2007
Offline
123
#1
ipconfig:
Если просто менять в опциях базы через phpmyadmin - не помогает. Цифра не меняется.

Это видимо с базой проблемы, т.к. phpmyadmin - это всего лишь интерфейс и работает он на обычных sql-запросах. Запрос вида "ALTER TABLE `User` AUTO_INCREMENT=100" должен выполняться нормально.

ipconfig:
А требуется чтоб пересчиталось с 0

Что значит "пересчиталось"? Выставилось в 0? Ну это тогда TRUNCATE поможет:)

Высказывание идиотского утверждения требует на порядок меньше усилий, чем его последовательное и обоснованное опровержение и более того, иногда это опровержение вообще невозможно. © (http://zhurnal.lib.ru/s/shapiro_m_a/raspidiota.shtml)
I
На сайте с 29.04.2006
Offline
135
#2

Необходимо чтоб auto_increment пересчитался с нуля!!)

Помню один раз колдовал, и получилось)) Как - загадка, т.к. это была ночь и я спал за ноутом)))

TRUNCATE очистит базу, у меняж немного другая задача))

DI
На сайте с 03.01.2007
Offline
123
#3

что значит пересчитался? обновился у всех записей, убив старые значения и присвоив новые по порядку?

I
На сайте с 29.04.2006
Offline
135
#4

Типо того...правда я это делал через создание нового поля.. но так сейчас не выходит.. видимо чтот забываю))

Shtogrin
На сайте с 02.11.2006
Offline
95
#5

INSERT INTO NEWTABLE (все поля кроме auto_increment) SELECT (все поля кроме auto_increment) FROM OLDTABLE

www.shtogrin.com (http://www.shtogrin.com/). Канцтовары (http://www.invit.com.ua/). 1С Бухгалтерия (http://account.kiev.ua/).
K
На сайте с 12.07.2006
Offline
295
Kpd
#6

ipconfig, одним запросом скорее всего не получится.

На php я это делал примерно так

$sql = "select id from имя_таблицы order by id asc";

$result = mysql_query($sql);
$i = 1;
while ($row = mysql_fetch_array($result)) {
mysql_query("update имя_таблицы set id='$i' where id='$row[id]'");
$i++;
}
mysql_query('ALTER TABLE имя_таблицы AUTO_INCREMENT=$i');
I
На сайте с 29.04.2006
Offline
135
#7
Kpd:
ipconfig, одним запросом скорее всего не получится.
На php я это делал примерно так

Спасибо, данный вариант сработал=))

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