2010-11-29 68 views
0

我在Linux中使用sqlite3,我目前有一個問題。我有一個數據庫和2個表格:db1和db2。 db1有3列:empID,empName,empAddr。 db2只有一列:默認情況下,empID和它的值被設置爲0。當另一個程序正在訪問時解鎖SQLite數據庫的方法?

我創建了一個C程序,它不斷輪詢第二個數據庫db2中empID值的任何變化。根據db2中empID的新值,程序將從db1中獲取相應的信息。例如,如果db2中empID的值更改爲1,則程序會查找db1中對應於empID等於1的信息(empName和empAddr)。但是,當我運行2個終端時:1用於手動更改值在db2中的empID和另一個用於運行C程序的函數,我遇到了鎖定數據庫的問題。當程序正在運行並訪問數據庫時,我想更改db2中empID的值,但是我明白自從我的C程序正在訪問它之後,我無法更新empID的值(除非我關閉運行該程序的終端)。所以我的問題是,當我通過我的程序訪問db2時,有沒有辦法更新/更改db2中empID的值?答案將不勝感激。謝謝。

回答

0

sqlite有一個鎖定機制 - 鎖定整個.sq3文件!

您可以設置在興田未提交讀的編譯「選擇」荷蘭國際集團計劃sqlite docs

但是使用數據庫發送消息就像使用穀倉寄信。

+0

我該如何在程序中插入pragma語句? – user523438 2010-11-29 09:52:58

相關問題