|
|
|
| Ниже запрос которым создаю таблицу.
CREATE TABLE tb_gvest (
id_msg int(8) NOT NULL auto_increment,
name text,
mail text,
icq int(4) default NULL,
time datetime NOT NULL default '0000-00-00 00:00:00',
last_time datetime NOT NULL default '0000-00-00 00:00:00',
msg text,
PRIMARY KEY (id_msg)
) TYPE=MyISAM;
|
Дело в том, что когда я удаляю какие нибуть строчки (записи) из таблицы ... то индексы id_msg не формируются с 1 по ... а остаются например с 100-го до .... (если считать что 99 полей я удалил). Нужно мне это для постраничной навигации. Или посоветуйте как лучше подругому спроектировать таблицу. Буду рад ссылкам по этому вопросу (построения таблицы).
(Если не понятно выразился, Нужно чтоб всегда индексы оставались с 1 и по последний) например был 5-ый стао 1-ый .... и все остальные за ним попорядку выстроились. | |
|
|
|
|
|
|
|
для: Oligarx
(19.03.2006 в 00:29)
| | При удалении записей автоинкремент не сбрасывается. Чтобы обнулить его нужно очищать таблицу при помощи TRUNCATE
| |
|
|
|
|
|
|
|
для: Евгений Петров
(19.03.2006 в 00:54)
| | а можно поподробней про эту функцию, а то в справочнике функций её нет ... . И что значит очищать (мне нужно удалять только некоторые записи из таблицы.)
На форуме нашёл такой код
ALTER TABLE 'tb_gvest' AUTO_INCREMENT = 1;
| попробывал, но что то никаких изменений не заметил ... (может я запрос неправильно сформировал, может в нём нужно ещё указывать конкретный столбец в моём случае id_msg ? Но куда его ... непойму и нужно ли) | |
|
|
|
|
|
|
|
для: Oligarx
(19.03.2006 в 00:29)
| | А они и не будут удаляться, не следует привязывать постраничную навигацию к индексам в базе данных... | |
|
|
|
|
|
|
|
для: cheops
(19.03.2006 в 12:48)
| | Ну ладно, вроде понял что делать с постраничной по другому, но всётки, что же делает этот запрос ?!
ALTER TABLE 'tb_gvest' AUTO_INCREMENT = 1;
|
| |
|
|
|
|
|
|
|
для: Oligarx
(19.03.2006 в 13:18)
| | Он устанавливает значение счётчика AUTO_INCREMENT в 1, т.е. для следующего аутоинкрементного значения будет предложена цифра 2. | |
|
|
|