РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
362 of 711 menu

Атрибут increment класса Sequence

Атрибут increment класса Sequence хранит шаг приращения значений последовательности. По умолчанию он равен 1, то есть каждое следующее значение увеличивается на единицу. Атрибут задается при создании объекта последовательности параметром increment. Значение атрибута можно прочитать после создания.

Синтаксис

Sequence(name, [increment])

Пример

Давайте создадим последовательность со стандартным шагом приращения и выведем значение атрибута:

from sqlalchemy import Sequence seq = Sequence('article_id_seq') print(seq.increment)

Результат выполнения кода:

1

Пример

Давайте зададим шаг приращения равным 10 и проверим значение атрибута:

from sqlalchemy import Sequence seq = Sequence('article_id_seq', increment=10) print(seq.increment)

Результат выполнения кода:

10

Пример

Давайте используем последовательность с шагом 5 в качестве серверного значения по умолчанию для колонки:

from sqlalchemy import create_engine, Sequence, Integer, String from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column engine = create_engine('sqlite:///:memory:') class Base(DeclarativeBase): pass class Article(Base): __tablename__ = 'articles' id: Mapped[int] = mapped_column( Integer, Sequence('article_id_seq', increment=5), primary_key=True ) title: Mapped[str] = mapped_column(String) Base.metadata.create_all(engine) seq = Sequence('article_id_seq', increment=5) print(seq.increment)

Результат выполнения кода:

5

Пример

Давайте сгенерируем SQL-запрос создания последовательности с нестандартным шагом:

from sqlalchemy import create_engine, Sequence from sqlalchemy.schema import CreateSequence engine = create_engine('sqlite:///:memory:') seq = Sequence('article_id_seq', increment=3) print(CreateSequence(seq).compile(engine))

Итоговый SQL запрос:

CREATE SEQUENCE article_id_seq INCREMENT BY 3

Смотрите также

  • класс Sequence,
    который представляет последовательность
  • атрибут start,
    который задает начальное значение
  • атрибут name,
    который хранит имя последовательности
  • метод create,
    который создает последовательность в базе
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить