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

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

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

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

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

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

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

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

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

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

Первичный и внешний ключ в SQL : простое объяснение

Июль 7, 2025 г.

Когда вы впервые сталкиваетесь с базами данных, всё кажется немного запутанным: таблицы, строки, какие-то "ключи"... Но если объяснить это на живых примерах — всё становится куда яснее. Давайте разберёмся, что такое первичный ключ, внешний ключ, и ещё ...

Читать

SQL-инъекция: как работает и как защититься

Июль 10, 2025 г.

SQL-инъекция (SQL Injection) — это распространённая и весьма опасная уязвимость веб-приложений. Она позволяет злоумышленнику вмешиваться в SQL-запросы, ...

Читать

Что такое CROSS JOIN

Июль 4, 2025 г.

Конструкция CROSS JOIN в SQL — это один из видов JOIN, который создаёт декартово произведение двух таблиц: каждая строка из первой таблицы соединяется со всеми строками второй. Если: Таблица A содержит m строк, Таблица B содержит n строк, ...

Читать

SQL-антипаттерны: плохие JOIN'ы и как их избежать

Июль 6, 2025 г.

JOIN — один из мощнейших инструментов в SQL. Но с большой силой приходит большая ответственность. Неверное использование JOIN может приводить к дублированию строк, утечке производительности, неявным ошибкам и даже разрушению логики приложения. В этой ...

Читать
 

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

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



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