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

Метод execution_options класса Update

Метод execution_options класса Update позволяет задать опции выполнения для конкретного оператора UPDATE. Первым параметром метод принимает словарь с настройками, которые влияют на то, как SQLAlchemy выполнит запрос. Эти опции не меняют сам SQL-запрос, но управляют поведением драйвера и соединения.

Синтаксис

update(table).execution_options(**kwargs)

Пример

Давайте создадим таблицу articles и обновим запись, задав опцию synchronize_session:

from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String, update engine = create_engine('sqlite:///:memory:') metadata = MetaData() articles = Table( 'articles', metadata, Column('id', Integer, primary_key=True), Column('title', String), Column('status', String) ) metadata.create_all(engine) with engine.connect() as conn: conn.execute(articles.insert().values(id=1, title='article 1', status='draft')) stmt = ( update(articles) .where(articles.c.id == 1) .values(status='published') .execution_options(synchronize_session=False) ) res = conn.execute(stmt) print(res.rowcount)

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

1

Пример

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

from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String, update engine = create_engine('sqlite:///:memory:') metadata = MetaData() articles = Table( 'articles', metadata, Column('id', Integer, primary_key=True), Column('title', String), Column('num', Integer) ) metadata.create_all(engine) with engine.connect() as conn: conn.execute(articles.insert().values(id=1, title='article', num=5)) stmt = ( update(articles) .where(articles.c.id == 1) .values(num=10) .execution_options( synchronize_session='fetch', compile_cache=False ) ) res = conn.execute(stmt) print(res.rowcount)

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

1

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

  • класс Update,
    который представляет оператор UPDATE
  • метод values,
    который задает обновляемые значения
  • метод where,
    который добавляет условие отбора строк
  • метод returning,
    который возвращает обновленные строки
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить