webSQL AUTOINCREMENT无法正常工作(与搜索中的不同)

Arc*_*ses 1 android cordova

学习phonegap为Android编写基本应用程序.出于这个原因使用WebSQL,我知道它已被弃用,但它仅适用于Android手机并且没有缩放,所以此时不​​会打扰像polyfills这样的东西.

在我开始使用回调处理程序之类的东西之前,尝试让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"]);
            }
        );      
    });
});
Run Code Online (Sandbox Code Playgroud)

尝试使用默认关键字之类的东西,但似乎没有任何效果.如果我为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"]);
            }
        );      
    });
});
Run Code Online (Sandbox Code Playgroud)

Daw*_*don 7

试试这个:

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

在webSql(sqlite)中,除非传递值,否则PRIMARY KEY会自动递增.其他信息:http://sqlite.org/autoinc.html