Таблица в БД

voland

Guest
Таблица в БД

Какие параметры должны быть поля, чтобы номер назначался автоматически, был уникальным и при удалении какого-либо поля значения шли по порядку
Например: поле "ID"
есть значения
1 - 111
2 - 222
3 - 333
4 - 444

Я удаляю 3 строку

1 - 111
2 - 333
3 - 444
 

voland

Guest
CREATE TABLE users (
user_id int(10) NOT NULL auto_increment,
user_name varchar(50) NOT NULL default '',
user_password varchar(50) NOT NULL default '',
user_mail varchar(50) NOT NULL default '',
user_post smallint(5) NOT NULL default '0',
PRIMARY KEY (user_id)
) TYPE=MyISAM;

Вот моя таблица, но при удалении он не делат так как надо, он просто удаляет и следующую вставку в неё делает с ID+1
т.е. если было 10 я их все удалил, затем добавил ещё одно, то оно будет с №11
 

Sirius

PHP+MySQL=LOVE
Ну это точно не автоинкремент:)

А таких свойств поля я не видел, хотя все маны по мускулам читал...

Чисто физически ты себе это хоть представляешь??? Как может существовать такое поле??? Оно ж каждый раз должно проходиться по таблице меняя все ИД...

И вообще интересно - зачем это нужно?
 

voland

Guest
Автор оригинала: Sirius
Ну это точно не автоинкремент:)

А таких свойств поля я не видел, хотя все маны по мускулам читал...

Чисто физически ты себе это хоть представляешь??? Как может существовать такое поле??? Оно ж каждый раз должно проходиться по таблице меняя все ИД...

И вообще интересно - зачем это нужно?
Допустим в этом форуме у каждого юзера есть его АЙДИ, если удалять пользователей, то все равно каждый следующий будет на 1 больше чем самое большое АЙДИ В конце концов наступит предел.
А как без него делать связку таблиц и поиск? Например я уверен каждый пост имеет уникальный номер!
 

RomikChef

Guest
Воланд, в базе данных нет номеров.
нумеровать можно при выводе.
размерность поля int - 4 миллиарда. тебе этого хватит, надеюсь? Если нет, то есть bigint
еще вопросы?

И ты сам себе противоречишь. Как делать привязку, если id после каждого удаления будут присваиваться другим записям?

Ой, я уже задолбался объяснять. пошел бы ты хоть в форум по mysql, почитал.
 

voland

Guest
Автор оригинала: RomikChef
Воланд, в базе данных нет номеров.
нумеровать можно при выводе.
размерность поля int - 4 миллиарда. тебе этого хватит, надеюсь? Если нет, то есть bigint
еще вопросы?

И ты сам себе противоречишь. Как делать привязку, если id после каждого удаления будут присваиваться другим записям?

Ой, я уже задолбался объяснять. пошел бы ты хоть в форум по mysql, почитал.
Прости тупого, я сначала написал, и уже после дошло, что к динамике привязку не сделать :)))
 
Сверху