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

Форум MySQL

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

 

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

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

тема: auto_increment
 
 автор: Ziq   (27.03.2005 в 20:59)   письмо автору
 
 

Вопрос по функции mysql auto_increment. Проблема заключается в следующем тип данных tinyint unsigned когда-то был равен 255, а теперь его максимальное значение равно 110. Когда я задаю

insert into tb_name values (0,'dsfsdf');

то он мне говорит, что значение превышает 255 или что-то в этом духе. Как мне обновить auto_increment. И еще вопросик, как мне что ли упорядочить значения. Когда проходит какое-то время из-за удаления, добавления и тд таблица принимает неважный вид и минимальное значение может приравниваться к 200 (когда в tinyint unsigned всего 255).

   
 
 автор: cheops   (27.03.2005 в 22:45)   письмо автору
 
   для: Ziq   (27.03.2005 в 20:59)
 

Можно начать сначала, уничтожив столбец индексированный атрибутом AUTO_INCREMENT и создать его поновой - это обнулит счётчик, кроме того изменить значение счётчика вы можете при помощи SQL-инструкции ALTER
ALTER TABLE tbl AUTO_INCREMENT=1

   
 
 автор: Ziq   (28.03.2005 в 08:25)   письмо автору
 
   для: cheops   (27.03.2005 в 22:45)
 

А как насчет ответа на второй вопрос, как мне упорядочить значения? Заранее спасибо.

   
 
 автор: cheops   (28.03.2005 в 10:02)   письмо автору
 
   для: Ziq   (28.03.2005 в 08:25)
 

Здесь, к сожалению, помогает только удаление и повторное создание столбца - после этого значения автоматически начинаются с 1.

PS Вопрос вызванный любопытством, а если часто возникают проблемы с границей - почему нельзя увеличить тип до того же INT? Это позволит очень догло не думать о проблеме с достижением границы интервала?

   
 
 автор: Ziq   (29.03.2005 в 08:38)   письмо автору
 
   для: cheops   (28.03.2005 в 10:02)
 

Вообще-то я уже исправил на smallint unsigned, а разве чем меньше тип тем не быстрее он извлекается из базы?

   
 
 автор: cheops   (29.03.2005 в 10:09)   письмо автору
 
   для: Ziq   (29.03.2005 в 08:38)
 

Это проявляется только в очень больших таблицах - в скорости начинаете выигрывать только если у вас смена типа приводит к значительному (несколько Мб) изменению объёма базы данных - если это не так, лучше не портить себе жизнь ограничивая типы :))). Кроме того, объём базы данных практически не касается первичных ключей или индексированных полей http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=419, поэтому для этого поля можете смело увеличивать размер отводимый под поле.

   
Rambler's Top100
вверх

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