我知道过去有很多问题,但我似乎无法利用这些答案。我试过了,但他们似乎没有工作。
我有一个存储两个用户输入值的表:名称和电子邮件。当他们输入他们的姓名和电子邮件时,它会被存储到我的桌子的一行中。
我希望能够使用不同的名称更新同一行,如果用户键入其他值,则发送电子邮件;如果之前没有任何值,则插入这些值。
我的代码在这里:
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);
我尝试过使用INSERT OR REPLACE,但这只会创建一个包含新详细信息的新行,并将前一行留给旧详细信息。有没有与我的案件相关的有效选择?感谢
答案 0 :(得分: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。如果名称和电子邮件尚未存在,则会将第一行替换为您键入的任何其他内容