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

Форум MySQL

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

 

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

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

тема: Как ведёт себя autoincrement?
 
 автор: jeans1986   (18.09.2007 в 12:43)   письмо автору
 
 

Как ведёт себя autoincrement? У меня поле типа INT. Меня интересует что произойдёт когда он достигнет максимальнонго значения? И как предотвратить случай если он достигнет максимкально значения, наджо новую базу создавать или как? Заранее благождарю.

   
 
 автор: cernos   (18.09.2007 в 16:22)   письмо автору
 
   для: jeans1986   (18.09.2007 в 12:43)
 

меняешь тип поля, скажем инт большей велчииной

   
 
 автор: Faraon   (18.09.2007 в 17:13)   письмо автору
 
   для: jeans1986   (18.09.2007 в 12:43)
 

Вы полагаете достигнуть порядка 4 с лишним миллиардов ? Это для поля типа INT
Можете использовать тогда BIGINT, здесь диапозон еще больше

   
 
 автор: Mookapek   (18.09.2007 в 17:26)   письмо автору
 
   для: jeans1986   (18.09.2007 в 12:43)
 

.

   
 
 автор: Mookapek   (18.09.2007 в 17:27)   письмо автору
 
   для: jeans1986   (18.09.2007 в 12:43)
 

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

Где вы такой хостинг найдете с объемом 67 108 854 Тбайт? :D

   
 
 автор: Loki   (19.09.2007 в 11:07)   письмо автору
 
   для: Mookapek   (18.09.2007 в 17:27)
 

софистика:)
данных может быть много больше 10000 записей в день, а срок их хранения может быть очень небольшой. Короче, можно придумать задачу, которая исчерпает автоинкремент при размере таблицы в несколько килобайт:)

   
 
 автор: cheops   (19.09.2007 в 11:14)   письмо автору
 
   для: Loki   (19.09.2007 в 11:07)
 

Теоретически да, можно - однако на практике редко такие задачи возникают.

   
 
 автор: cheops   (19.09.2007 в 11:12)   письмо автору
 
   для: jeans1986   (18.09.2007 в 12:43)
 

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

   
Rambler's Top100
вверх

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