Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: построение таблицы
 
 автор: Oligarx   (19.03.2006 в 00:29)   письмо автору
 
 

Ниже запрос которым создаю таблицу.


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-ый .... и все остальные за ним попорядку выстроились.

   
 
 автор: Евгений Петров   (19.03.2006 в 00:54)   письмо автору
 
   для: Oligarx   (19.03.2006 в 00:29)
 

При удалении записей автоинкремент не сбрасывается. Чтобы обнулить его нужно очищать таблицу при помощи TRUNCATE
TRUNCATE tb_gvest

   
 
 автор: Oligarx   (19.03.2006 в 12:20)   письмо автору
 
   для: Евгений Петров   (19.03.2006 в 00:54)
 

а можно поподробней про эту функцию, а то в справочнике функций её нет ... . И что значит очищать (мне нужно удалять только некоторые записи из таблицы.)

На форуме нашёл такой код
ALTER TABLE 'tb_gvest' AUTO_INCREMENT = 1;
попробывал, но что то никаких изменений не заметил ... (может я запрос неправильно сформировал, может в нём нужно ещё указывать конкретный столбец в моём случае id_msg ? Но куда его ... непойму и нужно ли)

   
 
 автор: cheops   (19.03.2006 в 12:48)   письмо автору
 
   для: Oligarx   (19.03.2006 в 00:29)
 

А они и не будут удаляться, не следует привязывать постраничную навигацию к индексам в базе данных...

   
 
 автор: Oligarx   (19.03.2006 в 13:18)   письмо автору
 
   для: cheops   (19.03.2006 в 12:48)
 

Ну ладно, вроде понял что делать с постраничной по другому, но всётки, что же делает этот запрос ?!

ALTER TABLE 'tb_gvest' AUTO_INCREMENT = 1;

   
 
 автор: cheops   (19.03.2006 в 20:50)   письмо автору
 
   для: Oligarx   (19.03.2006 в 13:18)
 

Он устанавливает значение счётчика AUTO_INCREMENT в 1, т.е. для следующего аутоинкрементного значения будет предложена цифра 2.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования