За последние 24 часа нас посетили 35384 программиста и 1814 роботов. Сейчас ищут 948 программистов ...

Создание таблиц. Автоматическое заполнение первого поля id

Тема в разделе "MySQL", создана пользователем $oft, 23 июн 2010.

  1. $oft

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

    С нами с:
    11 окт 2008
    Сообщения:
    113
    Симпатии:
    0
    Адрес:
    Орел
    Как создать таблицу, каким sql запросом, чтобы первое поле ID заполнялось автоматически?

    нужно что бы по порядку.
    К примеру будет таблица USERS:
    id
    name
    icq
    email
    password
    info
    status
    system
    ...

    Поле id должно запоняться автоматически по очереди начиная с единицы, т.е. при добавлении новой строки в таблицу айдишник проставляется автоматически.

    знаю что должна такая опция быть у базы данных. Пока обходился скриптом, который считывает в массив количество строк, потом к последнему элементу массива прибавляет единицу и вот следующий номер. Наверно через жо..у, но пока этого хватало.
     
  2. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
  3. $oft

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

    С нами с:
    11 окт 2008
    Сообщения:
    113
    Симпатии:
    0
    Адрес:
    Орел
    О, кул)) Оценим. попробуем.
    СПС
     
  4. Апельсин

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

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    CREATE TABLE `monitor`.`USERS` (
    `id` SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `name` VARCHAR( 50 ) NULL ,
    `icq` INT NOT NULL ,
    `email` VARCHAR( 50 ) NULL ,
    `password` VARCHAR( 32 ) NULL ,
    `info` VARCHAR( 255 ) NULL ,
    `status` TINYINT( 1 ) NOT NULL DEFAULT '0',
    `system` VARCHAR( 10 ) NOT NULL DEFAULT 'Linux'
     
  5. Апельсин

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

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
     
  6. $oft

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

    С нами с:
    11 окт 2008
    Сообщения:
    113
    Симпатии:
    0
    Адрес:
    Орел
    проблемка с этим идентификатором автоматическим:

    ввел три тестовые строчки: 1, 2, 3... удаляю вторую строчку, т.е. остаются идентификаторы 1, 3. Вставляю еще одну строку и она становится 4, т.е. 1, 3, 4. Эмм...

    как сделать что бы база автоматически заполняла все предыдущие идентификаторы, а уж после заполнения пустых ячеек, продолжала нумерацию дальше?

    ну или хотя бы сброс счетчика как делать чисто для себя
     
  7. за-чем?
     
  8. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    ни-как!
     
  9. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Ну можно попробовать триггер написать какой-нибудь. Он же должен инкрементить и проверять наличие свободных идов. Но это бредок. Никогда не делал такое.