2010-01-13 41 views
8

我有關於python和sqlite3的問題。我想從Python中刪除一個表。命令python與sqlite3下拉表

cur.execute('drop table if exists tab1') 

不起作用。

cur.executescript('drop table if exists tab1;') 

完成這項工作。

執行方法允許創建表。但是,它不會放棄它們?是否有一個原因?

回答

8

在運行提供的腳本之前,cur.executescript命令發出COMMIT。此外,CREATE本質上執行COMMIT。也許你有一個開放的事務需要在更改發生之前進行。

+0

謝謝,這很有道理! – nwhsvc 2010-01-13 21:37:35

+0

如果通過sqlite3.connect('disk_sqlite3')。cursor()。execute()工作而sqlite3.connect(':memory:')。cursor()。execute()不工作? – hylepo 2016-09-07 04:50:52