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

Форум MySQL

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

 

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

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

тема: AUTO_INCREMENT
 
 автор: nato   (06.12.2007 в 14:05)   письмо автору
 
 

Создаю таблицу так:

mysql_query("CREATE TABLE
guestbook (
id INT(11) AUTO_INCREMENT PRIMARY KEY,
author VARCHAR(20),
email VARCHAR(30),
ip VARCHAR(16),
date_time VARCHAR(25),
message TEXT,
reply TEXT
)
");

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

Подскажите, как упорядочить id после удаления записи из таблицы.

Заранее спасибо.

   
 
 автор: Faraon   (06.12.2007 в 14:07)   письмо автору
 
   для: nato   (06.12.2007 в 14:05)
 

Удаляете все данные?
Если все то

TRUNCATE TABLE название таблицы 

   
 
 автор: nato   (06.12.2007 в 14:10)   письмо автору
 
   для: Faraon   (06.12.2007 в 14:07)
 

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

   
 
 автор: Faraon   (06.12.2007 в 14:26)   письмо автору
 
   для: nato   (06.12.2007 в 14:10)
 

Да нет так не получится, на то он и id уникальный интендификатор
Для нумерации надо сделать другое поле и им манипулировать

Или нумерацию можно сделать при выводе информации циклом в PHP

   
 
 автор: nato   (06.12.2007 в 14:28)   письмо автору
 
   для: Faraon   (06.12.2007 в 14:26)
 

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

Так, а может, вообще выкинуть этот ауто_инкремент? он мне не нужен больше нигде.
Можно ли это делать?

   
 
 автор: Trianon   (06.12.2007 в 17:16)   письмо автору
 
   для: nato   (06.12.2007 в 14:28)
 

если Вы выкинете первичный ключ, как Вы станете обращаться к конкретным строкам таблицы?
У Вас это единственный уникальный идентификатор.

   
 
 автор: nato   (07.12.2007 в 09:38)   письмо автору
 
   для: Trianon   (06.12.2007 в 17:16)
 

Имелось в виду, что я не выкину этот столбец . А буду обращаться к строкам по id, как и раньше, просто автонумерацию выкину.

   
 
 автор: Trianon   (07.12.2007 в 13:52)   письмо автору
 
   для: nato   (07.12.2007 в 09:38)
 

Дело Ваше ... по-моему , проблем от такого решения будет больше, чем от честного первичного ключа.

   
 
 автор: Faraon   (06.12.2007 в 21:00)   письмо автору
 
   для: nato   (06.12.2007 в 14:28)
 

о да, А зачем Вы тогда делали id auto_increment?

   
 
 автор: Mookapek   (06.12.2007 в 19:55)   письмо автору
 
   для: nato   (06.12.2007 в 14:05)
 

ALTER TABLE  guesbook AUTO_INCREMENT = 1;

   
Rambler's Top100
вверх

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