Перейти к контенту
  • 0

Неправильная сортировка id


Renderhp

Вопрос

У меня такая-вот проблема:

Я от "нечего делать" сменил себе ИД на 10000 и практически сразу же поменял назад, но у юзеров, которые регнулись после этого ИДы идут от 10001, 10002, 10003 и т.д. Как исправить?

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

Убить этих пользователей, а потом сделать запрос:

ALTER TABLE ibf_members AUTO_INCREMENT=макс.id+1

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Как никак? Тоесть уже ничего не выйдет? Нельзя сделать так, чтоб всех начинало сортировать с 1859?

 

Сонг, а можно не убить, а просто сменить их иды?

 

Убить этих пользователей, а потом сделать запрос:

ALTER TABLE ibf_members AUTO_INCREMENT=макс.id+1

Ввожу:

ALTER TABLE ibf_members AUTO_INCREMENT=1882.id+1

Ошибку выдает:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'id+1' at line 1

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Ой... Извините... Я в запросах к SQL не силён и подумал что нужно написати последний ид "+1" (ведь к последнему иду должна единица добавляться) ... Вот и ошибся...

 

P.S. Запрос сработал... Будем ждать результатов...

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Если перед запросом ты не убил существующих пользователей с номерами больше 1883, то можешь не ждать, запрос будет неэффективен.
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Если перед запросом ты не убил существующих пользователей с номерами больше 1883, то можешь не ждать, запрос будет неэффективен.

А почему? Я же посменивал их id...

 

Ну не буду же я удалять полсотни юзеров... Я слыхал о моде, который меняет ид на порядковый номер (типу когда удаляешь кого-то, то иды следующих уменьшаються и т.п.)... Помогите! Очень надо!

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Имелось в виду, что если на данный момент нет пользователей "с номерами больше 1883", то сработает.
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Имелось в виду, что если на данный момент нет пользователей "с номерами больше 1883", то сработает.

Я посменивал иды, пустил запрос, а толку не дало... :D

 

Есть ещё варианты?

 

Ввел сначала:

UPDATE ibf_members SET mgroup=1 WHERE id>1882

Потом:

ALTER TABLE ibf_members AUTO_INCREMENT=1883

 

 

Должно помочь?

Ссылка на комментарий
Поделиться на других сайтах

  • 0
mgroup=1

Это с чего?

 

Либо удали всех пользователей с ид>1882(из всех таблиц ibf_member*) или измени им (тоже везде) ид на 1883 и т.д.

После этого установи автоинкремент на макс+1.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
mgroup=1

Это с чего?

 

Либо удали всех пользователей с ид>1882(из всех таблиц ibf_member*) или измени им (тоже везде) ид на 1883 и т.д.

После этого установи автоинкремент на макс+1.

Ид я изменял с помощю мода... Пойдёт?

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Имелось в виду, что если на данный момент нет пользователей "с номерами больше 1883", то сработает.

Я посменивал иды, пустил запрос, а толку не дало... :D

 

Есть ещё варианты?

 

Ввел сначала:

UPDATE ibf_members SET mgroup=1 WHERE id>1882

Потом:

ALTER TABLE ibf_members AUTO_INCREMENT=1883

 

 

Должно помочь?

 

1) На какие числа ты их посменивал?

2) Если ты их посменивал, то с большой долей вероятности, они на форум уже не зайдут.

 

 

 

Вообще я муть свалял с самого начала, а никто меня не поправил.

Ведь в 2.х автоинкрементное поле вовсе не ibf_members.id, а ibf_members_converge.converge_id

 

И id на ibf_members берётся из него.

 

Рендерхп:

Но правда смысла это не меняет. Надо удалять id'шки, которые выше того уровня, до которого хочешь опуститься, а потом снижать автоинкремент.

Другого пути нет.

 

Ну или конечно id'шки переправить на меньший номер вручную. Но это гораздо сложнее, чем удалять.

Если у тебя пользователей уже много зарегистрировалось, то забей на это дело. Не твоя это стезя.

 

Ид я изменял с помощю мода... Пойдёт?

Зависит от мода. Но если мод не на коленке писан, то должно пойти.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Renderhp, вообще на будующее, чтобы не было лишнего гемороя после "опытов", лучше их проводить не на работающем форуме, а где нить на локалхосте

 

+ иметь точную копию (файлов и баз mysql) работающего форума в сети на локалхосте

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Когда запустил то, что сказал Сонг во-второй раз все заработало...

 

Фристайлер, я так и делаю... Всегда перед тем, как ставить кокой-нить мод... Но у меня в голове укластся не могло, что может выйти такое... + на локалхосте всё было б норм потому, что там никто не реестрируется...

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Когда запустил то, что сказал Сонг во-второй раз все заработало...

О ты даже догадался как поправить запрос?! :D

 

 

Вот тебе мод на закуску: Идентификаторы юзеров по порядку 1.x, 2.1.x

Выстраивает при регистрации id по порядку насильственным образом

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.