标签: sqlite

如何在SQLite上连接表时进行更新?

我试过了 :

UPDATE closure JOIN item ON ( item_id = id ) 
SET checked = 0 
WHERE ancestor_id = 1
Run Code Online (Sandbox Code Playgroud)

和:

UPDATE closure, item 
SET checked = 0 
WHERE ancestor_id = 1 AND item_id = id
Run Code Online (Sandbox Code Playgroud)

两者都适用于MySQL,但那些在SQLite中给我一个语法错误.

如何使这个UPDATE/JOIN与SQLite版本3.5.9一起使用?

sqlite join sql-update

92
推荐指数
2
解决办法
5万
查看次数

Android SQLite数据库:插入缓慢

我需要解析一个相当大的XML文件(大约在一百千字节和几百千字节之间变化),我正在使用它Xml#parse(String, ContentHandler).我目前正在使用152KB文件进行测试.

在解析期间,我还使用类似于以下的调用将数据插入SQLite数据库中:getWritableDatabase().insert(TABLE_NAME, "_id", values).对于152KB的测试文件(大约插入200行),所有这一切大约需要80秒.

当我注释掉所有插入语句(但留下其他所有内容,例如创建ContentValues等)时,同一个文件只需要23秒.

数据库操作有这么大的开销是正常的吗?我可以做点什么吗?

database sqlite performance android insert

91
推荐指数
3
解决办法
5万
查看次数

Android中的SQLite Query可以计算行数

我正在尝试创建一个简单的登录表单,我将登录屏幕上输入的登录ID和密码与存储在数据库中的登录ID和密码进行比较.

我正在使用以下查询:

final String DATABASE_COMPARE =
"select count(*) from users where uname=" + loginname + "and pwd=" + loginpass + ");" ;
Run Code Online (Sandbox Code Playgroud)

问题是,我不知道,我如何执行上述查询并存储返回的计数.

这是数据库表的样子(我已经使用execSQl方法成功创建了数据库)

private static final String
DATABASE_CREATE =
            "create table users (_id integer autoincrement, "
            + "name text not null, uname primary key text not null, " 
            + "pwd text not null);";//+"phoneno text not null);";
Run Code Online (Sandbox Code Playgroud)

有人可以指导我如何实现这一目标吗?如果可能,请提供一个示例代码段来执行上述任务.

sqlite android count

91
推荐指数
9
解决办法
13万
查看次数

Android SQLite:更新声明

我需要在我的应用程序中实现SQLite.我遵循了本教程. 在Android中创建和使用数据库

一切都很好.我插入了一行5列.现在我想只更新1列的值,其他的将保持不变.

教程中有一个更新方法,但它需要所有参数,但我只想更新一列.

sql sqlite android

91
推荐指数
4
解决办法
17万
查看次数

Android中使用SQLite的外键约束?在删除级联

我有两个表:轨道和航点,一个轨道可以有很多航点,但一个航点只分配给一个轨道.

在点数表中,我有一个名为"trackidfk"的列,它在制作轨道时插入track_ID,但是我没有在此列上设置外键约束.

当我删除一条轨道时,我想删除指定的路标,这可能吗?我读过有关使用触发器的内容,但我不认为它们在Android中受支持.

要创建航点表:

public void onCreate(SQLiteDatabase db) {
    db.execSQL( "CREATE TABLE " + TABLE_NAME 
                + " (" 
                + _ID         + " INTEGER PRIMARY KEY AUTOINCREMENT, " 
                + LONGITUDE   + " INTEGER," 
                + LATITUDE    + " INTEGER," 
                + TIME        + " INTEGER,"
                + TRACK_ID_FK + " INTEGER"
                + " );"
              );

    ...
}
Run Code Online (Sandbox Code Playgroud)

java sqlite android foreign-keys

90
推荐指数
5
解决办法
6万
查看次数

使用Python将CSV文件导入sqlite3数据库表

我有一个CSV文件,我想使用Python将此文件批量导入我的sqlite3数据库.命令是".import .....".但它似乎无法像这样工作.谁能给我一个如何在sqlite3中做到这一点的例子?我正在使用Windows以防万一.谢谢

python database csv sqlite

90
推荐指数
10
解决办法
13万
查看次数

从sqlite数据库中删除重复的行

我有一个巨大的表--3600万行 - 在SQLite3中.

在这个非常大的表中,有两列

  • 哈希 - 文本
  • d - 真的

但是,有些行是重复的.也就是说,hash和d都具有相同的值.

此外,如果两个哈希值相同,则d的值也相同,但两个相同的ds不表示两个相同的哈希值

无论如何,我想删除重复的行.我没有主键列.最快的方法是什么?


编辑: hash

似乎可以做到这一点.

sql database sqlite

90
推荐指数
2
解决办法
5万
查看次数

如何为php启用sqlite3?

我正在尝试在Ubuntu中为PHP安装sqlite3.

我安装apt-get php5-sqlite3并编辑php.ini包含sqlite3扩展.

当我跑步时,phpinfo();我得到了

SQLITE3
SQLite3 support  enabled  
sqlite3 library version  3.4.2  
Run Code Online (Sandbox Code Playgroud)

如上所示,sqlite3已启用.但是,当我使用时,我得到"Class SQLite3 not found"

 new SQLite3("database");
Run Code Online (Sandbox Code Playgroud)

php sqlite

89
推荐指数
6
解决办法
21万
查看次数

使用Android中的内容提供程序公开多个表的最佳实践

我正在构建一个应用程序,我有一个事件表和一个场地表.我希望能够授予其他应用程序访问此数据的权限.我有几个与此类问题的最佳实践相关的问题.

  1. 我应该如何构建数据库类? 我目前有EventsDbAdapter和VenuesDbAdapter的类,它们提供查询每个表的逻辑,同时有一个单独的DbManager(扩展SQLiteOpenHelper)来管理数据库版本,创建/升级数据库,提供对数据库的访问(getWriteable/ReadeableDatabase).这是推荐的解决方案,还是我最好将所有内容整合到一个类(即DbManager)或分离所有内容并让每个适配器扩展SQLiteOpenHelper?

  2. 我应该如何为多个表设计内容提供程序? 扩展上一个问题,我应该为整个应用程序使用一个内容提供程序,还是应该为事件和场地创建单独的提供程序?

我发现的大多数示例只涉及单表应用程序,所以我很感激这里的任何指针.

sqlite android android-contentprovider

89
推荐指数
4
解决办法
4万
查看次数

svn cleanup:sqlite:数据库磁盘映像格式错误

我试图做一个svn cleanup因为我无法在我的工作副本中提交更改,我收到以下错误:

sqllite:数据库磁盘映像格式错误

清理无法处理以下路径

我现在能做什么?

svn sqlite tortoisesvn

89
推荐指数
5
解决办法
15万
查看次数