За последние 24 часа нас посетил 18941 программист и 1576 роботов. Сейчас ищут 1578 программистов ...

Жесточайшая борьба со столбцом id

Тема в разделе "Сделайте за меня", создана пользователем klasspereplet, 17 окт 2015.

  1. klasspereplet

    klasspereplet Новичок

    С нами с:
    9 окт 2015
    Сообщения:
    12
    Симпатии:
    0
    Приветствую.
    Вкраце: Есть база данных со столбцом id. Есть 8 строк в этой базе. Строки добавляются при каждой регистрации.
    Идут они так:
    1 строка - id присвоен 1
    2 строка - id присвоен 2
    ...
    7 строка - id присвоен 7
    8 строка - id присвоен 8
    Суть в чем: как сделать и дальше id по порядку? (8,9,10,11,12...)
     
  2. klasspereplet

    klasspereplet Новичок

    С нами с:
    9 окт 2015
    Сообщения:
    12
    Симпатии:
    0
    Приветствую.
    Вкраце: Есть база данных со столбцом id. Есть 8 строк в этой базе. Строки добавляются при каждой регистрации.
    Идут они так:
    1 строка - id присвоен 1
    2 строка - id присвоен 2
    ...
    7 строка - id присвоен 7
    8 строка - id присвоен 8
    Суть в чем: как сделать и дальше id по порядку? (8,9,10,11,12...)
     
  3. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    mysql auto increment
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    авто инкремент добавить на первичный ключ. и всё.
     
  5. klasspereplet

    klasspereplet Новичок

    С нами с:
    9 окт 2015
    Сообщения:
    12
    Симпатии:
    0
    Смотрим на скрин... Итак стоит...
    [​IMG]
     
  6. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    ну допустим. значит каждая вставка где явно не указан идентификатор строки (надеюсь не в этом подвох?) заставит движок выплюнуть новый айдишник для строки. удобно же.
     
  7. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    В запросе INSERT не надо указывать столбец `id`, и тогда id будет присвоен автоматически по порядку.
     
  8. Chushkin

    Chushkin Активный пользователь

    С нами с:
    17 дек 2010
    Сообщения:
    1.062
    Симпатии:
    91
    Адрес:
    Мещёра, Центр, Болото N3
    Коллеги, стоит помнить, что auto_increment не гарантирует строго последовательную нумерацию, без разрывов.
     
  9. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    если не было DELETE, то INSERT вставляет по порядку :)
     
  10. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    да ну шо ты. юнец еще))) сделай insert ... on duplicate и дивись результату =))
     
  11. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    это фактически тот же update, а я имел ввиду insert [into, ignore...]
     
  12. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    ну а работает-то как? сначала выделяется айдишник автоинкрементом, потом идет попытка вставки. срабатывает протекция уникальности ключа. выполняется обновление существующей строки. но инкремент-то накручен остается. так что не только делит о котором ты говоришь приводит к фрагментации айдишников. инсерт (хоть и в грязном виде) тоже может.
     
  13. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    klasspereplet покажи SQL запрос на вставку данных