Javascript phonegap中的SQLi在创建表时失败(如果不存在)

Javascript phonegap中的SQLi在创建表时失败(如果不存在),javascript,database,cordova,Javascript,Database,Cordova,因此,我最近注意到我的应用程序(使用phonegap 2.6构建)中有一个bug,我在应用程序开始时将其从通常的populateDB()缩小到以下SQL代码: 在“deviceready”事件和其他所有事件中,它被正确地使用了。问题是-第一次运行时将失败-在所有后续运行中都会正常,就像预期的那样。然而,它的失败是不可接受的。 以下是我在第一次运行时遇到的错误: code: 5 message: "could not prepare statement (1 no such table: toke

因此,我最近注意到我的应用程序(使用phonegap 2.6构建)中有一个bug,我在应用程序开始时将其从通常的populateDB()缩小到以下SQL代码:

在“deviceready”事件和其他所有事件中,它被正确地使用了。问题是-第一次运行时将失败-在所有后续运行中都会正常,就像预期的那样。然而,它的失败是不可接受的。 以下是我在第一次运行时遇到的错误:

code: 5
message: "could not prepare statement (1 no such table: tokens)"

这不是语法错误或类似的错误,我不知道是什么。有人遇到过这样的问题吗?谢谢。

可能是一个愚蠢的问题,但您确定是这一行失败了,而不是在创建表之前触发的其他查询吗?这不是一个愚蠢的问题,我自己也考虑过,但我不认为是这样,因为所有查询都是在行的后面执行的(从dbSuccess回调)-如果查询失败,则不会发生这种情况(因此出现问题)。它也不会解释为什么它会在后续的运行中工作。好吧,它会解释如果第一次确实成功地创建了表。那么,在创建之前触发的查询可能已经有一个现有的表要查询了。这似乎就是正在发生的事情,问题是为什么它第一次失败?因为这实际上意味着当用户第一次运行应用程序时,它将失败——这是一个狗屎应用程序的标志。再说一遍,这就是你的电话差距。
code: 5
message: "could not prepare statement (1 no such table: tokens)"