2014-04-19 72 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。如果名称和电子邮件地址尚不存在,则将其替换为您输入的其他名称

相关问题