Javascript 如何在executeSql中修复;插入错误代码:0“;

Javascript 如何在executeSql中修复;插入错误代码:0“;,javascript,sql,sqlite,cordova,Javascript,Sql,Sqlite,Cordova,我尝试在创建后插入,但我做错了。。。 创建工作正常,但插入不工作 function createTableDB(tx) { var data= "test"; var val1 = "testVal1"; var val2 = "testVal2"; tx.executeSql('DROP TABLE IF EXISTS TEST'); tx.executeSql('CREATE TABLE IF NOT EXISTS TEST (id unique, data, scommesso, vinc

我尝试在创建后插入,但我做错了。。。 创建工作正常,但插入不工作

function createTableDB(tx) {
var data= "test";
var val1 = "testVal1";
var val2 = "testVal2";
tx.executeSql('DROP TABLE IF EXISTS TEST');
tx.executeSql('CREATE TABLE IF NOT EXISTS TEST (id unique, data, scommesso, vincita)');
tx.executeSql('INSERT INTO TEST (data, scommesso, vincita) VALUES (?,?,?)' , [data, val1, val2]);
        }
我也尝试这样做:

tx.executeSql('INSERT INTO TEST (data scommesso, vincita) VALUES (?,?,?)', ["someText", "someText", "someText"]);

但是我需要发送变量的值。

您会得到什么错误?首先:除非您声明
id INTEGER主键AUTOINCREMENT
,否则还必须指定id值。对于您的代码,它不是自动的。或者,您可以排除
id
列,只需依赖自动填充的自动
rowid
列即可。如果您不确定或只是想了解更多信息,请从同一站点上的其他文档开始并在其中查找更多信息。@CPerkins在OP的情况下,它将仅为null,因为他在插入.ooh时没有提供值。您的第二次插入缺少逗号。这是一个不应该工作的结果。@Shawn是的,谢谢。我的大脑在里面插入了“非空”。。。因为大多数id值都会有。不过,我会留下我的原始评论,因为这个“id”列似乎仍然缺少重要属性,即使这不是错误的来源。