MasterGerold
@MasterGerold

Стоит ли ставит unsigned для полей в MySQL?

Доброго времени суток! Интересует такой вопрос. Много смотрю уроков и всегда используют для поля id которые будет использоваться как первичный ключ int(11). Я считаю что это не правильно так как я знаю что id не бывает отрицательным и имеет смысл делать int(10) unsigned, вот информация которую я прочитал на сайте spravkaweb.ru тут четко написано что "Отсчет последовательности чисел для AUTO_INCREMENT начинается с 1. Это могут быть только положительные числа." (но даже на том сайте исользуется int(11)). Я понимаю что может быть такое что более двух миллиардов индексов мало где будет но я все равно придерживаюсь unsigned. Подскажите знатоки зачем они так делают? Может я ничего не понимаю. Заранее благодарен!
  • Вопрос задан
  • 2421 просмотр
Пригласить эксперта
Ответы на вопрос 2
Stalker_RED
@Stalker_RED
Сперва вы смотрите непонятно какие уроки, а затем удивляетесь.

Use the UNSIGNED attribute if possible to allow a greater range.
© https://dev.mysql.com/doc/refman/5.7/en/example-au...

Потому, что им лень прописать UNSIGNED? Потому, что сейчас гайды делают даже нубы?
Или может потому, что не хотят забивать головы новичков лишними подробностями? Вы действительно думаете что ваша база очень скоро превысит 2 млрд записей и вам понадобятся все 4?
Если да, то вот вам подсказка: с BIGINT можно еще в 4 млрд раз поднять планку.
Ответ написан
Комментировать
@miksir
IT
1. Далеко не все базы умеют unsigned.
2. Первичный ключ может быть отрицательным, почему нет, можно руками добавить.
3. unsigned может доставить проблем с языком программирования, у которого нет unsigned типов и такой же размер int.
4. И самое главное - да пофиг
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы