如何在Python中从事sqlite3执行脚本?

时间:2016-08-15 02:08:59

标签: python sqlite

我想从Python在Sqlite3中执行一个脚本,如果它没有完全成功,我希望回滚整个脚本。这可能吗?

这是我尝试过的:

sql = open('my_file').read()
try:
        conn.executescript(sql)
        conn.commit()
    except sqlite3.OperationalError as oe:
        print('Failure to execute {0}: {1}'.format(f, oe))
        conn.rollback()
        exit(1)

但这不起作用。抛出错误时,commit不会被调用,因为它会转到except块。尽管如此,脚本的部分工作仍然存在于数据库中。

0 个答案:

没有答案