Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

MySQL как обновить столбец с порядк.№

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Прочее] >> MySQL как обновить столбец с порядк.№
Имя
Сообщение << Старые топики   Новые топики >>
MySQL как обновить столбец с порядк.№ - 2007-12-04 12:23:54.870000   
TaisAfinskaya

Сообщений: 12
Оценки: 0
Присоединился: 2007-08-11 11:59:17.450000
Скажите, есть такая команда, чтобы обновить все порядковые номера в таблице? Ну т.е. был столбец id_author, где в каждой новой строке он увеличивается на 1 (auto increment). А потом я удалила некоторые строки. и теперь там ничего нет,т.е. 1,2,3,6,7,8,… Я пробовала удалить все строки - все равно отсчет не с 1 идет. Это,наверное,как переменная, кот.где-то хранится?ее можно как-то изменить?
Post #: 1
RE: MySQL как обновить столбец с порядк.№ - 2007-12-04 12:24:58.416666   
Lex_Voodoo

Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
А теперь ответь на вопрос: зачем?
Post #: 2
RE: MySQL как обновить столбец с порядк.№ - 2007-12-04 19:37:48.793333   
TaisAfinskaya

Сообщений: 12
Оценки: 0
Присоединился: 2007-08-11 11:59:17.450000
что зачем??
Post #: 3
RE: MySQL как обновить столбец с порядк.№ - 2007-12-04 19:46:54.340000   
Lex_Voodoo

Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
Зачем тебе начинать отсчёт в поле auto_increment с 1.

Поясняю: если у тебя возникает желание менять значения auto_increment в существующей таблице, ты 100% делаешь что-то неправильно. Задавая свой вопрос, я пытаюсь выяснить, ЧТО ИМЕННО ты делаешь неправильно.
Post #: 4
RE: MySQL как обновить столбец с порядк.№ - 2007-12-05 20:48:46.053333   
TaisAfinskaya

Сообщений: 12
Оценки: 0
Присоединился: 2007-08-11 11:59:17.450000
Ну я хочу, чтоб у меня на сайте можно было регистрироваться. И чтобы у каждого чел-ка был свой порядковый номер. Вот и записываю в базу. Номер и данные. А потом,допустим, надо будет кого-то удалить.Не с конца, а где-нибудь с серединки. Будут юзеры с номерами 1,2,3,5, а 4-го не будет…
P.S. может я совсем тупые вопросы задаю? толком не разобралась, но хотелось побыстрей сделать)
Post #: 5
RE: MySQL как обновить столбец с порядк.№ - 2007-12-05 21:08:16.166666   
alexbozhko

Сообщений: 1024
Оценки: 0
Присоединился: 2005-11-24 13:35:34
quote:

ORIGINAL: TaisAfinskaya

Ну я хочу, чтоб у меня на сайте можно было регистрироваться. И чтобы у каждого чел-ка был&nbsp;свой порядковый номер.&nbsp;Вот и записываю в базу. Номер и данные.&nbsp;А потом,допустим, надо будет кого-то удалить.Не с конца, а&nbsp;где-нибудь с серединки. Будут юзеры с номерами 1,2,3,5, а 4-го не будет…
P.S. может я совсем тупые вопросы задаю? толком не разобралась, но хотелось&nbsp;побыстрей сделать)

А без 4-го юзера сайт не состоится?
Post #: 6
RE: MySQL как обновить столбец с порядк.№ - 2007-12-05 22:11:21.723333   
TaisAfinskaya

Сообщений: 12
Оценки: 0
Присоединился: 2007-08-11 11:59:17.450000
quote:

А без 4-го юзера сайт не состоится?

нуу… если совсем никак,то придется. А если мне че-нибудь надо будет проверить и придется по порядку их выбирать?Сделаю в цикле: ..что-то… where id_author = i ; i++; ну и попадет на номер, которого нет.И вообще как-то некрасиво..
Post #: 7
RE: MySQL как обновить столбец с порядк.№ - 2007-12-05 23:09:59.220000   
TaisAfinskaya

Сообщений: 12
Оценки: 0
Присоединился: 2007-08-11 11:59:17.450000
Вот нашла что-то похожее:
quote:


Рассмотрим AUTOINCREMENT подробнее. В поле A с таким значением по умолчанию всегда записывается число на единицу превышающее текущий максимум M. М содержит максимальное значение среди всех ранее введенных в поле A, в том числе и уже удаленных записей. Если для поля A в операторе INSERT (добавляет новую запись) указано конкретное значение N, то:
[ul]
  • при N &gt; M изменяется значение текущий максимум - ему присваивается значение N;
  • при N &lt; M текущий максимум остается неизменным.Если в таблице уже имеется запись с полем A, значение которого равно N,то оператор завершается аварийно.
  • [/ul]
    Буду пробовать. Ну все равно надо проверять, чтобы не было такого значения, когда в середину таблицы записываешь. Я думала, это как-то проще делается.
    Вообщем, я поняла. Надо сначала учебники почитать))
    Post #: 8
    RE: MySQL как обновить столбец с порядк.№ - 2007-12-05 23:40:38.110000   
    alexbozhko

    Сообщений: 1024
    Оценки: 0
    Присоединился: 2005-11-24 13:35:34
    quote:

    ORIGINAL: TaisAfinskaya

    quote:

    А без 4-го юзера сайт не состоится?

    нуу… если совсем никак,то придется.&nbsp;А если мне че-нибудь надо будет проверить и придется по порядку их выбирать?Сделаю в цикле: ..что-то… where id_author = i ; i++; ну и попадет на номер, которого нет.И вообще как-то некрасиво..

    не трогай автоинкремент

    для того, что бы показать порядковый номер это не нужно делать. Этот номер и хранить даже не надо.
    А id_author, обычно делают уникальным идентификатором.
    это не совсем то же, что порядковый номер.
    Post #: 9
    RE: MySQL как обновить столбец с порядк.№ - 2007-12-06 11:28:24.670000   
    TaisAfinskaya

    Сообщений: 12
    Оценки: 0
    Присоединился: 2007-08-11 11:59:17.450000
    Ок, не буду) спасибо
    Post #: 10
    RE: MySQL как обновить столбец с порядк.№ - 2007-12-06 12:13:21.566666   
    alexbozhko

    Сообщений: 1024
    Оценки: 0
    Присоединился: 2005-11-24 13:35:34
    quote:

    ORIGINAL: TaisAfinskaya

    Ок, не буду) спасибо

    Просто, что бы потом не было недоразумений.
    Я не советую отказаться от id, реализованного как автоинкремент.
    Он нужен.
    Но пусть он сам работает. Заполнять дырки в нем не нужно.
    А для отображения (вычисления) порядкового номера юзера просто нужно использовать другой механизм.
    Я обычно просто вывожу сортированную по Id таблицу и привязываю к ней порядковый номер записи.
    Который просто вычисляю.
    Post #: 11
    Страниц:  [1]
    Все форумы >> [Прочее] >> MySQL как обновить столбец с порядк.№







    Связаться:
    Вопросы по сайту / xakep@glc.ru

    Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.