А что такое SERIAL и чем он отличается от INT?

В SQL, когда вы создаёте поле для идентификатора (id), ключа в таблице, часто используется либо INT, либо SERIAL. Они похожи, но не совсем одно и то же.

  • INT — просто числовой тип данных. Если вы хотите, чтобы значения увеличивались автоматически (1, 2, 3, …), вам придётся сами этим управлять или использовать дополнительный механизм.
  • SERIAL — это удобный ярлык (синтаксический сахар), который говорит базе: «Создай мне INT-поле, и настрой так, чтобы оно автоматически увеличивалось при каждом новом INSERT.»

То есть, когда вы пишете:

то… и здесь хочется привести пример, который раскрывает более полную версию запроса.

Но тут мы упираемся в диалекты SQL. На практике вы будете пользоваться какой то конкретной реализацией SQL — например, MySQL, PostgreSQL или MSSQL.

В PostgreSQL полный запрос будет выглядеть так:

Отдельно объявляется т.н. последовательность (SEQUENCE), и потом она используется для столбца users.id.

В MySQL это выглядит иначе:

Мало букафф? Читайте есчо !

Нормализация базы данных, разбираемся с нормальными формами на примере

Июль 14, 2025 г.

Нормализация - это поэтапный процесс, происходит по шагам. Каждый шаг — это нормальная форма (НФ), которая обычно требует, чтобы предыдущий этап нормализации был выполнен. Всего их выделяют шесть, но чаще всего достаточно первых четырёх. Я рассмотрю их ...

Читать

SQL JOIN на пальцах: таблицы, примеры, схемы

Сентябрь 19, 2017 г.

Присоединение таблиц в запросах - это базовый инструмент в работе с базами данных. Давайте рассмотрим какие присоединения (JOIN) бывают, и что от этого ...

Читать

НФ не требуют введения суррогатных ключей?

Июль 12, 2025 г.

Сами по себе нормальные формы (НФ) не требуют введения суррогатных (искусственных) ключей, но на практике их часто используют при нормализации, особенно начиная со 2НФ и 3НФ. Давайте разберём подробнее. Что такое суррогатный ключ? Суррогатный ...

Читать

Группировка строковых значений в выборке из базы данных

Сентябрь 30, 2018 г.

Группировка по полю, содержащему число, используется значительно чаще, чем группировка по текстовому полю. Я думаю, вы использовали функции вроде AVG(), ...

Читать
 

Комментарии к «А что такое SERIAL и чем он отличается от INT?»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: