Ответ на вопрос №668370: Ниже представлен код, в котором используется управление транзакциями для добавления нового проекта и задач в базу данных. import sqlite3 def demo_transactions(db_name): connection = sqlite3.connect(db_name) cursor = connection.cursor() try: cursor.execute(''' INSERT INTO projects (name, description, deadline) VALUES ('Project Y', 'Описание проекта Y', '2024-11-01') ''') cursor.execute(''' INSERTНиже представлен код, в котором используется управление транзакциями - Ответ на вопрос №668370Ниже представлен код, в котором используется управление транзакциями - Ответ на вопрос №668370
2025-05-262025-05-26СтудИзба
Ниже представлен код, в котором используется управление транзакциями - Ответ на вопрос №668370
Вопрос
Ниже представлен код, в котором используется управление транзакциями для добавления нового проекта и задач в базу данных.import sqlite3
def demo_transactions(db_name):
connection = sqlite3.connect(db_name)
cursor = connection.cursor()
try:
cursor.execute('''
INSERT INTO projects (name, description, deadline)
VALUES ('Project Y', 'Описание проекта Y', '2024-11-01')
''')
cursor.execute('''
INSERT INTO tasks (priority, description, status, deadline, completed, project)
VALUES
(1, 'Задача 1 для Project Y', 'pending', '2024-10-15', NULL, 'Project Y'),
(2, 'Задача 2 для Project Y', 'in progress', '2024-10-30', NULL, 'Project Y')
''')
raise sqlite3.Error("Искусственная ошибка для демонстрации rollback.")
connection.commit()
print("Изменения сохранены в базе данных.")
except sqlite3.Error as e:
# В случае ошибки откат всех изменений
print(f"Ошибка: {e}. Откат изменений...")
connection.rollback()
finally:
connection.close()
if __name__ == "__main__":
demo_transactions('projects_and_tasks.db')
Что произойдет, если возникает ошибка при выполнении транзакции?
- Код выполнит откат всех изменений, если возникает ошибка при вставке данных или искусственная ошибка.
- Код завершится с ошибкой, но изменения будут сохранены в базе данных, даже если возникнет ошибка.
- Код не выполнит откат изменений, даже если возникает ошибка, и данные будут сохранены.
- Искусственная ошибка в коде не вызовет откат изменений, и транзакция будет завершена успешно.
Ответ
Этот вопрос в коллекциях
-22%

Каждая купленная работа – это шаг к вашей успешной сдаче и мой стимул делать ещё лучше. Вместе мы создаём круговорот добра в учебе 🥰