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

Форум MySQL

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

 

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

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

тема: ох уж этот autoincrement
 
 автор: lilu   (11.08.2005 в 10:33)   письмо автору
 
 

Autoincrement конечно удобно, особенно когда это primary key
но вот такой вопрос:
если в таблице удалить все записи, и начать заполнять заново, то нумерация продолжается с последнего удалённого номера, а не с 1! Или удаляешь посередине строку ...
Возможно ли в поле таблицы кот. autoincrement проверять нумерацию, т.е. если таблица пустая значит начать с 1 и т.д.. если удалена строка то поправить всю нумерацию строк?

   
 
 автор: Loki   (11.08.2005 в 10:51)   письмо автору
 
   для: lilu   (11.08.2005 в 10:33)
 

если очистить таблицу запросами

TRUNCATE table

или

DELETE FROM table

То нумерация начнется сначала. Если хочется убрать "дырки", то надо удалить автоинкрементный столбец и создать его заново... Только вот зачем это нужно?

   
 
 автор: lilu   (11.08.2005 в 11:26)   письмо автору
 
   для: Loki   (11.08.2005 в 10:51)
 

Это всё понятно! Зачем, вот например, из таблицы названий поставляемой продукции какие-то перестали поставлять и их надо удалить (и забыть) из таблицы, удалить строки не проблема как и очистить всю таблицу, но если такое случается часто то этот счётчит в скоре вообще с 25 записи начнёт таблицу! Вообщем примеров много, скажите как мне сделать чтобы счётчик считал только те поля кот. остаются в таблице а не удалённые, о кот. все уже забыли?

   
 
 автор: Loki   (11.08.2005 в 11:55)   письмо автору
 
   для: lilu   (11.08.2005 в 11:26)
 

>их надо удалить (и забыть) из таблицы
Просто не надо на сайте отображать нумерацию полей базы. Тем более, что в каждом разделе нужна своя нумерация. Автоинкрементное поле - инструмент программиста, а не пользователя.
Посмотрите вот эту тему - как раз то, что вам нужно:
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=6191&page=1

>скоре вообще с 25 записи начнёт таблицу
Нет. Если вы используете запросы приведенные выше, то счетчик начнется именно с первого пункта. Не верьте мне на слово - проверьте сами:)

   
 
 автор: lilu   (11.08.2005 в 12:36)   письмо автору
 
   для: Loki   (11.08.2005 в 11:55)
 

Дело не в том отображать нумерацию полей базы или нет, если допустим надо вывести счётчик, ну например, сколько товаров или ещё чего-нибудь, то счётчик покажет неверный результат, т.к.. учитывает и тех, которые уже удалялись :)

   
 
 автор: Loki   (11.08.2005 в 12:59)   письмо автору
 
   для: lilu   (11.08.2005 в 12:36)
 

Нет. счетчик учитывает реальное количество строк в БД (если мы, конечно, говорим о конструкции count(*))

   
Rambler's Top100
вверх

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