2014-02-06 89 views
1

學習phonegap,爲Android編寫基本應用程序。使用WebSQL出於這個原因,我知道它已被棄用,但它只適用於Android手機,並且沒有縮放比例,所以此時不​​會對像polyfills這樣的事情感到困擾。webSQL AUTOINCREMENT無法正常工作(與搜索中的不同)

只是試圖讓AUTO_INCREMENT工作之前,我甚至得到的東西像回調處理程序,對於代碼的基礎開始:

var db = openDatabase('test', '1.0', 'Test', 10 * 1024 * 1024); 
db.transaction(
    function (tx) { 
     tx.executeSql('CREATE TABLE IF NOT EXISTS test (id INTEGER AUTOINCREMENT, value VARCHAR)'); 

    } 
); 

$(function(){ 
    $('#test').click(function(){ 
     alert('click'); 
     db.transaction(
      function (tx) { 
       tx.executeSql('INSERT INTO test (value) VALUES (?)', ["testValue"]); 
      } 
     );  
    }); 
}); 

使用像默認的關鍵字嘗試,但似乎沒有任何工作。如果我爲ID列添加值,它工作正常。


編輯這裏的代碼試圖出來,不插入任何內容。

var db = openDatabase('test', '1.0', 'Test', 10 * 1024 * 1024); 
db.transaction(
    function (tx) { 
     tx.executeSql('CREATE TABLE IF NOT EXISTS test (id INTEGER PRIMARY KEY, value VARCHAR)'); 

    } 
); 

$(function(){ 
    $('#test').click(function(){ 
     alert('click'); 
     db.transaction(
      function (tx) { 
       tx.executeSql('INSERT INTO test (value) VALUES (?)', ["testValue"]); 
      } 
     );  
    }); 
}); 

回答

6

嘗試使用這樣的:除非你傳遞值

tx.executeSql('CREATE TABLE IF NOT EXISTS test (id INTEGER PRIMARY KEY, value VARCHAR)'); 

在的WebSQL(SQLite的)PRIMARY KEY自動遞增。這裏的附加信息:http://sqlite.org/autoinc.html

+0

不起作用,因爲這裏的目標是讓AUTOINCREMENT在INSERT上工作。 – ArchieMoses

+0

我在我的phonegap項目中以這種方式使用它,並在插入時自動增量。你試過了嗎? –

+0

你可以在這裏閱讀更多關於它:http://stackoverflow.com/questions/16832401/sqlite-auto-increment-not-working –