Освободившиеся id строк

Тема в разделе "PHP", создана пользователем phillip, 22 ноя 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. phillip

    phillip

    Регистр.:
    4 сен 2007
    Сообщения:
    413
    Симпатии:
    15
    Не пойму от чего зависит. Есть таблица мускуль, в ней поле
    id(PRIMARY, auto_increment)
    Дак вот добавили в таблицу 6 строк, автоматически у них id расставились 1,2,3,4,5,6. Затем удаляем пятую строку, получаются строки с id 1,2,3,4,6. Как сделать чтобы теперь при вставке новой строке ей присвоился id 7 вместо освободившегося id 5?
    Раньше у меня это само собой было, а счас не соблюдается такое правило, хз что не так и от чего это зависит
     
  2. Alternator

    Alternator

    Регистр.:
    23 мар 2009
    Сообщения:
    295
    Симпатии:
    145
    а зачем вам нужно?
    суть UID в том, чтобы быть уникальным относительно существующих записей
    осталное - неважно.
    обычно выдается по порядку, но на это ориентироватся не стоит
    в любом случае вопрос не по PHP, ибо это к базе данных надо настраивать
    а на большинстве хостингов вам ее не дадут настраивать
     
  3. propovednik

    propovednik Постоялец

    Регистр.:
    16 май 2008
    Сообщения:
    104
    Симпатии:
    21
    Нужно выставить auto_increment в колонке
     
  4. SiZE

    SiZE Постоялец

    Регистр.:
    31 янв 2010
    Сообщения:
    51
    Симпатии:
    10
    Автор это уже указал в первом сообщении.

    http://www.mysql.ru/docs/man/example-AUTO_INCREMENT.html

    Цитата из ссылки. Может быть это поможет.

     
    phillip нравится это.
  5. phillip

    phillip

    Регистр.:
    4 сен 2007
    Сообщения:
    413
    Симпатии:
    15
    Почитал, там сказано:
    Не могу понять, что значит вторичный столбец составного ключа
     
  6. SiZE

    SiZE Постоялец

    Регистр.:
    31 янв 2010
    Сообщения:
    51
    Симпатии:
    10
    Так там как бы пример показан. Я честно не знаю как объяснить. :) Сделай экспорт структуры таблицы в phpMyAdmin. И запости сюда.
     
    phillip нравится это.
  7. phillip

    phillip

    Регистр.:
    4 сен 2007
    Сообщения:
    413
    Симпатии:
    15
    PHP:
    -- phpMyAdmin SQL Dump
    -- version 3.2.3
    -- http://www.phpmyadmin.net
    --
    -- 
    Hostlocalhost
    -- Generation TimeNov 232010 at 06:51 AM
    -- Server version5.1.40
    -- PHP Version5.3.3

    SET SQL_MODE
    ="NO_AUTO_VALUE_ON_ZERO";

    --
    -- 
    Database: `base`
    --

    -- --------------------------------------------------------

    --
    -- 
    Table structure for table `objects`
    --

    CREATE TABLE IF NOT EXISTS `objects` (
      `
    idint(11NOT NULL AUTO_INCREMENT,
      `
    owneridint(11NOT NULL,
      `
    namevarchar(768NOT NULL,
      `
    trans_namevarchar(768NOT NULL,
      `
    object_typeenum('stand_alone','extended'NOT NULL,
      `
    townvarchar(60NOT NULL,
      `
    addressvarchar(768NOT NULL,
      `
    desctext NOT NULL,
      `
    beach_distvarchar(20NOT NULL,
      `
    add_commentsenum('on','off'NOT NULL,
      `
    date_addint(11NOT NULL,
      `
    paid_tovarchar(20NOT NULL,
      `
    servicesint(11NOT NULL,
      `
    approvedenum('Y','N','FREEZE'NOT NULL,
      `
    count_imagesint(11NOT NULL,
      `
    rooms_countint(11NOT NULL,
      
    PRIMARY KEY (`id`)
    ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=;
     
  8. SiZE

    SiZE Постоялец

    Регистр.:
    31 янв 2010
    Сообщения:
    51
    Симпатии:
    10
    Ключ у тебя не составной. И проверил, внес 4 записи через pma, затем с id=2 удалил и создал еще одну. Для вновь созданной id=5.
     
Статус темы:
Закрыта.