javascript - Websql插入查询

标签 javascript sql database html web-sql

我是新的 websql。我无法在 websql 中插入主键。

创建查询

db.transaction(function (tx) {
        var sql =
         "CREATE TABLE vehicles ( "+
        "id integer primary key autoincrement,"+
        "vehicle_ref_no VARCHAR(255),"+
        "vehicle_plate_no VARCHAR(255),"+
        )";

        tx.executeSql(sql);

    });

插入查询

 db.transaction(
        function (tx) {
            tx.executeSql(
                "INSERT INTO vehicles VALUES (?, ?)",
                 [data.vehicle_ref_no, 
                 data.vehicle_plate_no, 

                 ],
                function (tx, result) {
                    console.log("Query Success");
                },
                function (tx, error) {
                    console.log("Query Error: " + error.message);
                }
            );
        },
        function (error) {

            console.log("Transaction Error: " + error.message);
        },
        function () {
            console.log("Transaction Success");
        }
    );

此代码不添加自动增量值,有什么想法吗? 除了我所做的之外,还有什么好的方法可以做到这一点吗?

最佳答案

您的INSERT 语句不正确。您应该包括 id

以外的列名称
INSERT INTO vehicles (vehicle_ref_no, vehicle_plate_no) VALUES (?, ?);

或为 id 传递 NULL

INSERT INTO vehicles (id, vehicle_ref_no, vehicle_plate_no) VALUES (NULL, ?, ?);

或者只是

INSERT INTO vehicles VALUES (NULL, ?, ?);

这是 SQLFiddle 演示

关于javascript - Websql插入查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19946012/

相关文章:

java - 如果表存在则跳过 liquibase 更改

javascript - 使用 JavaScript 进行 HTML 选择不起作用

javascript - 装最多水的容器

c# - 如何在 MySql 数据库中存储 List<string>

asp.net - VB.NET SQL 限制提交尝试次数

mysql - 创建表并将查询指定为字段的默认值

javascript - jPaginate - 帮助确定哪个页面被点击?

javascript - 当 ng-if 添加/删除元素时收到通知

SQL从三个表中选择至少两个不同的值连接在一起

Flash Builder 移动应用程序中的数据库(Action Script 3.0)