2014-04-19 73 views
1

我知道過去有很多這方面的問題,但我似乎無法利用這些答案。我嘗試了,但他們似乎沒有工作。插入行,如果不存在,否則更新sqlite - JavaScript

我有一個表,其中存儲兩個用戶輸入值:姓名和電子郵件。當他們輸入他們的姓名和電子郵件時,它會被存儲到我的表格的一行中。

我希望能夠用不同的名稱和電子郵件更新同一行,如果用戶鍵入其他值,或者如果沒有任何以前的值插入這些值。

我的代碼是在這裏:

db.transaction(function(transaction) { 
transaction.executeSql('INSERT INTO Details(name,email)\ 
VALUES(?,?)',[$('#entername').val(), $('#enteremail').val()], 
nullHandler,errorHandler); 

}); 

和創建表在這裏如果需要的話:

db.transaction(function(tx){ 
    tx.executeSql('CREATE TABLE IF NOT EXISTS Details(Id INTEGER NOT\ 
        NULL PRIMARY KEY,name,email)', 
        [],nullHandler,errorHandler); 
          },errorHandler,successCallBack); 

我一直在使用插入或更換試過,但是這僅僅是創建一個新的行用新的細節並在那裏保留舊的細節。有沒有與我的案例有關的有效選項?謝謝

回答

0

終於得到它的工作。我必須這樣做:

db.transaction(function(transaction) { 
transaction.executeSql('INSERT OR REPLACE INTO Details(id,name,email)\ 
VALUES(1,?,?)',[$('#entername').val(), $('#enteremail').val()], 
nullHandler,errorHandler); 

}); 

其中id是行ID。如果名稱和電子郵件地址尚不存在,則將其替換爲您輸入的其他名稱

相關問題