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

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

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

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

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

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

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

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

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

Написать комментарий

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

JOIN vs UNION — в чём разница?

Июль 4, 2025 г.

Эти два оператора в SQL на первый взгляд делают похожее — они "объединяют" таблицы. Но делают это по-разному и для разных целей. Вкратце: JOIN объединяет по горизонтали (добавляются столбцы из разных таблиц), тогда как UNION объединяет по вертикали ...

Читать

Что такое CROSS JOIN

Июль 4, 2025 г.

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

Читать

 

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

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



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