|
|
|
| Вопрос по функции mysql auto_increment. Проблема заключается в следующем тип данных tinyint unsigned когда-то был равен 255, а теперь его максимальное значение равно 110. Когда я задаю
insert into tb_name values (0,'dsfsdf');
|
то он мне говорит, что значение превышает 255 или что-то в этом духе. Как мне обновить auto_increment. И еще вопросик, как мне что ли упорядочить значения. Когда проходит какое-то время из-за удаления, добавления и тд таблица принимает неважный вид и минимальное значение может приравниваться к 200 (когда в tinyint unsigned всего 255). | |
|
|
|
|
|
|
|
для: Ziq
(27.03.2005 в 20:59)
| | Можно начать сначала, уничтожив столбец индексированный атрибутом AUTO_INCREMENT и создать его поновой - это обнулит счётчик, кроме того изменить значение счётчика вы можете при помощи SQL-инструкции ALTER
ALTER TABLE tbl AUTO_INCREMENT=1
|
| |
|
|
|
|
|
|
|
для: cheops
(27.03.2005 в 22:45)
| | А как насчет ответа на второй вопрос, как мне упорядочить значения? Заранее спасибо. | |
|
|
|
|
|
|
|
для: Ziq
(28.03.2005 в 08:25)
| | Здесь, к сожалению, помогает только удаление и повторное создание столбца - после этого значения автоматически начинаются с 1.
PS Вопрос вызванный любопытством, а если часто возникают проблемы с границей - почему нельзя увеличить тип до того же INT? Это позволит очень догло не думать о проблеме с достижением границы интервала? | |
|
|
|
|
|
|
|
для: cheops
(28.03.2005 в 10:02)
| | Вообще-то я уже исправил на smallint unsigned, а разве чем меньше тип тем не быстрее он извлекается из базы? | |
|
|
|
|
|
|
|
для: Ziq
(29.03.2005 в 08:38)
| | Это проявляется только в очень больших таблицах - в скорости начинаете выигрывать только если у вас смена типа приводит к значительному (несколько Мб) изменению объёма базы данных - если это не так, лучше не портить себе жизнь ограничивая типы :))). Кроме того, объём базы данных практически не касается первичных ключей или индексированных полей http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=419, поэтому для этого поля можете смело увеличивать размер отводимый под поле. | |
|
|
|