|
auto_increment
|
|||
---|---|---|---|
#18+
Так вот меня интересует как заполнить свой пробел в таблице код выглядит вот так вот самого начала и поэтапно.... CREATE TABLE `test`( `id` INT AUTO_INCREMENT PRIMARY KEY, `name` VARCHAR(20) NOT NULL ); Потом я ее заполняю например до 10 строк... так вот после заполнения я например удалю 5 строку, и после заполнения новой одной строки она заполнит как под номер id-11, а ту 5ю строку проигнорит. Я понимаю что команда AUTO_INCREMENT делает к id +1 к числу . Эту проблемку для себя я решил как бы таким способом.... INSERT INTO `test` (id , name) VALUES (5 , "имя"); таким образом я заполняю этот пробел НО..., ну так а если у меня 1000 пользователей в базе а то и 10 000 я же не буду искать пробелы. Ну так вот , как сделать так чтоб при заполнение новой строки чтоб он автоматом заполнил сперва места удаленых а после заполнения этих строк уже бы перешел на AUTO_INCREMENT +1 как обычно ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 22:38 |
|
auto_increment
|
|||
---|---|---|---|
#18+
Описанное выше - абы заполнение дыр - делать нельзя категорически! id - это уникальный индекс. Уникальное значение, однозначно идентифицирующее запись. (а вот теперь читай очень внимательно) Идентифицирующее запись в течение всего срока жизни таблицы . Усвоил? таблицы! не записи! то есть запись уже давно удалена, но это значение, которое у неё имело поле id, продолжает указывать на эту несуществующую запись. И поэтому это значение не может быть присвоено этому полю другой записи. Хочешь иметь непрерывную нумерацию? заведи под это дело ещё одно поле, но обычное, а не входящее в первичный индекс, ну и заполняй так, чтобы получить желаемое. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 23:24 |
|
|
start [/forum/topic.php?fid=47&fpage=28&tid=1828841]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 321ms |
total: | 474ms |
0 / 0 |