Sobes.tech
Назад к вопросам
Junior — Middle
69

Имели ли вы практический опыт управления транзакциями при работе с базами данных?

Ответ от нейросети

sobes.tech AI

Да, у меня есть опыт управления транзакциями при работе с базами данных в Python. Обычно я использую библиотеки, такие как sqlite3, psycopg2 или ORM, например SQLAlchemy, которые поддерживают транзакции.

Транзакции позволяют гарантировать целостность данных: все операции внутри транзакции либо выполняются полностью, либо откатываются при ошибке.

Пример с использованием sqlite3:

import sqlite3

conn = sqlite3.connect('example.db')
cursor = conn.cursor()

try:
    conn.execute('BEGIN')
    cursor.execute("INSERT INTO users (name) VALUES (?)", ('Alice',))
    cursor.execute("INSERT INTO accounts (user_id, balance) VALUES (?, ?)" , (cursor.lastrowid, 100))
    conn.commit()
except Exception as e:
    conn.rollback()
    print(f"Ошибка: {e}")
finally:
    conn.close()

В этом примере, если одна из операций вставки не выполнится, все изменения будут отменены.