javascript - 具有默认值的 SQLite 数据库

标签 javascript sql sqlite cordova

我为phonegap 应用程序使用sqlite 数据库。

我尝试这样的事情:

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

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")');

一个名为 SETTINGS 的表,有 3 行,如下所示:

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');
...

关于javascript - 具有默认值的 SQLite 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14931048/

相关文章:

mysql - 从具有 value1 但不具有 value2 的表中检索项目

php - 如何将 MySQL 表中的数据放入 Google Chart API?

python - 接线员不在 Peewee

for 循环中的 JavaScript setTimeout 用于性能测试

javascript - 这两行 jQuery 等效吗?

javascript - 重绘简单图形

sql - 从 PostgreSQL 中的 unix 时间中提取年份

android.database.sqlite.SQLiteException : near "ON": syntax error (code 1)

mysql - super 复杂的SQL语句...可能不可能

javascript - 错误 : [ng:areq] Argument is not a function, 未定义