|
|
|
| Как ведёт себя autoincrement? У меня поле типа INT. Меня интересует что произойдёт когда он достигнет максимальнонго значения? И как предотвратить случай если он достигнет максимкально значения, наджо новую базу создавать или как? Заранее благождарю. | |
|
|
|
|
|
|
|
для: jeans1986
(18.09.2007 в 12:43)
| | меняешь тип поля, скажем инт большей велчииной | |
|
|
|
|
|
|
|
для: jeans1986
(18.09.2007 в 12:43)
| | Вы полагаете достигнуть порядка 4 с лишним миллиардов ? Это для поля типа INT
Можете использовать тогда BIGINT, здесь диапозон еще больше | |
|
|
|
|
|
|
|
для: jeans1986
(18.09.2007 в 12:43)
| | . | |
|
|
|
|
|
|
|
для: 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 | |
|
|
|
|
|
|
|
для: Mookapek
(18.09.2007 в 17:27)
| | софистика:)
данных может быть много больше 10000 записей в день, а срок их хранения может быть очень небольшой. Короче, можно придумать задачу, которая исчерпает автоинкремент при размере таблицы в несколько килобайт:) | |
|
|
|
|
|
|
|
для: Loki
(19.09.2007 в 11:07)
| | Теоретически да, можно - однако на практике редко такие задачи возникают. | |
|
|
|
|
|
|
|
для: jeans1986
(18.09.2007 в 12:43)
| | Когда вы достигнете предела - при вставке новых значений будет возникать ошибка - попытка вставки уже существующего значения, так как первичный ключ - это уникальный индекс - нужно будет менять тип данных, например, на BIGINT. | |
|
|
|