2014-04-19 2 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); 

내가 INSERT를 사용하여 OR REPLACE 시도했다, 그러나 이것은 단지 새로운 세부 새 행을 만듭니다 그 이전 행을 오래된 세부 사항으로 남겨 둡니다. 내 사건과 관련된 효율적인 옵션이 있습니까? 감사합니다

답변

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입니다. 이렇게하면 이름과 전자 메일에 입력 한 내용이 모두없는 첫 번째 행이 대체됩니다.

관련 문제