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

Форум MySQL

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

 

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

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

тема: переполнение auto_increment
 
 автор: Nevi   (11.01.2008 в 23:28)   письмо автору
 
 

здравствуйте
у меня
unikey int(11) not null auto_increment,

в поле добавляется запись примерно 5 раз в секунду

что будет когда unikey перепролнится

мне один человек сказал - что просто станет 0 и все пойдет с начала - по крайней мере он протестировал с postgrese , про my sql он саказать не может потому что не работал

что нибуть знает?=)
заранее благодарен!

   
 
 автор: Mookapek   (12.01.2008 в 00:06)   письмо автору
 
   для: Nevi   (11.01.2008 в 23:28)
 

auto_increment не станет равным нулю, выведется ошибка. поставьте unikey в тип BIGINT и тогда на этот счет можно не беспокоиться.
Вот что в Самоучителе от Софттайм пишется:
Выбор типа INT и BIGINT даже при ежедневном добавлении в таблицу 10 000 новых записей приведет 
к исчерпанию уникальных значений только через 588 и 2 500 000 000 000 лет соответственно. При 
этом даже если таблица будет содержать только один столбец, занимаемый объем данных достигнет 
8 Гбайт для типа INT и 67 108 854 Тбайт для типа BIGINT.

   
 
 автор: Faraon   (12.01.2008 в 00:38)   письмо автору
 
   для: Nevi   (11.01.2008 в 23:28)
 

>мне один человек сказал - что просто станет 0 и все пойдет с начала - по крайней мере он протестировал с postgrese

Интересный человек, даже интересно, что он имел ввиду? :)
У него был опыт догнать INT до подразумевающего конца? :)

   
 
 автор: Nevi   (12.01.2008 в 01:23)   письмо автору
 
   для: Faraon   (12.01.2008 в 00:38)
 

возник вопрос
int(2)
это сколько максимальное число
99
или
4
какое из двух?

2/ и можно ли делать
int(55) или int(111111) или int(32) максимальное ?

3/ int(32) это как я понимаю 4 294 967 296
следовательно если пишет 5 раз в секунду то
5x60x60X24x365 = 157 680 000 в год
примерно 27 лет

   
 
 автор: cheops   (12.01.2008 в 14:41)   письмо автору
 
   для: Nevi   (11.01.2008 в 23:28)
 

Если поле снабжено уникальным индексом, то с начала не пойдёт - индекс не позволит создать ещё одно значение с таким же номером - будет возвращена ошибка.

   
 
 автор: Nevi   (17.01.2008 в 13:23)   письмо автору
 
   для: cheops   (12.01.2008 в 14:41)
 

возник вопрос
int(2)
это сколько максимальное число
99
или
4
какое из двух?

2/ и можно ли делать
int(55) или int(111111) или int(32) максимальное ?

3/ int(32) это как я понимаю 4 294 967 296

   
 
 автор: Loki   (17.01.2008 в 16:54)   письмо автору
 
   для: Nevi   (17.01.2008 в 13:23)
 

int - это от 0 до 4294967295
цифра которую вы ставите - это количество знаков при выдаче результатов запроса.

   
 
 автор: ronin   (17.01.2008 в 17:31)   письмо автору
 
   для: Loki   (17.01.2008 в 16:54)
 

в POSTGRESQL помойму нет auto_increment там, если я не ошибаюсь - serial...

   
Rambler's Top100
вверх

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