WebSQL | SQLite - 插入“?”字符进入数据库

时间:2015-09-22 12:11:31

标签: javascript sqlite web-sql

我正在尝试将一个问题插入到数据库中,但由于准备好的语句性质而存在一些问题。错误如下:

could not prepare statement (1 near ")": syntax error)

这是使用的代码:

tx.executeSql("INSERT INTO premade_questions ('Do you like animals?')", 
            [], 
            function() { console.log("Inserted"); },
            function(n, error) { console.log(error.message);    }
        );

当我更改代码以使用预准备语句时,错误更改为:

could not prepare statement (1 near "?": syntax error)

更改的代码如下:

 tx.executeSql("INSERT INTO premade_questions (?)", 
            ['Do you like animals?'], 
            function() { console.log("Inserted"); },
            function(n, error) { console.log(error.message);    }
        );

我试图逃避?然而没有运气。

1 个答案:

答案 0 :(得分:1)

您错过了VALUES关键字:

如果您的表格仅包含问题文字字段,则应将查询更改为INSERT INTO premade_questions VALUES ('Do you like animals?')

如果您有更多字段,则应将其添加到值中,或指定您仅提供问题字段。例如,如果字段名称为question,则您的查询应为:INSERT INTO premade_questions (question) VALUES ('Do you like animals?')