我正在使用Java的項目,在那裏,我必須在我的SQLite數據庫中進行修改。 我連接到它,工作得很好,除了這個奇怪的錯誤。對於特定查詢SQLite的'數據庫鎖定'奇怪的錯誤
s.executeUpdate("INSERT INTO STUDENTS VALUES('S0',11)");
...
//many statements... including queries
...
String c2="INSERT INTO STUDENTS VALUES ('S1', 2)";
s.executeUpdate(c2);
s.executeUpdate("DROP TABLE STUDENTS");
的發言s.executeUpdate("INSERT INTO STUDENTS VALUES('S0',11)");
和完美s.executeUpdate(c2);
跑行插入到數據庫中。但是當談到下面的陳述時,我得到了奇怪的數據庫鎖定錯誤。 當我改變查詢到另一個,它也工作得很好。當它到達結束語句時出現錯誤。更確切地說,上面所寫的所有查詢,即這裏的代碼的第一條語句都工作得很好。
請幫我找到bug。
請不要投下來,不要閱讀我的問題。我知道Stack Overflow上有很多關於這種類型的帖子,但是我的帖子很奇特。它最終只顯示了一次例外情況,最後我也關閉了聲明和連接。 – Rajesh
您是否開始了您沒有向我們展示的交易?我的猜測是,你不能刪除表,因爲更新正在鎖定它,等待提交。像drop這樣的DDL語句不是事務性的。 – Paolo
@Paolo:在SQLite中,DDL語句也是事務性的。 –