我将sqlite数据库用于phonegap应用程序。

我尝试这样的事情:

在首次启动应用程序时创建表格:

tx.executeSql('CREATE TABLE IF NOT EXISTS SETTINGS (id unique,data)');


之后,我将获得第一行项目:

var returnwert = results.rows.item(0).data;


该代码将产生以下错误:

Item index is out of range!


我知道为什么,因为它在表中没有默认值。

如何创建具有dafult值的表?

像这样:

 tx.executeSql('CREATE TABLE IF NOT EXISTS SETTINGS (id unique 1, 2, 3,data defaultvalue="test")');


包含3行的名为SETTINGS的表如下所示:

id = 0 data = test
id = 1 data = test
id = 2 data = test


有人可以帮我吗

最佳答案

您可能是想像这样创建表:

CREATE TABLE IF NOT EXISTS settings (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    data VARCHAR(128)
)


要用一些值填充表,请使用以下语句:

REPLACE INTO settings VALUES (1, 'test');
REPLACE INTO settings VALUES (2, 'test');
REPLACE INTO settings VALUES (3, 'test');


如果您是第一次运行它,则将创建ID为1,2,3的行。

如果您第二次运行它,则ID 1,2,3的行将被覆盖。

如果您不想覆盖,请使用INSERT OR IGNORE像这样:

INSERT OR IGNORE INTO settings VALUES (1, 'test');
...

07-26 05:10