标签: sqlite

SQLite的.除了last_insert_rowid()之外,如何在Insert之后获取Auto Increment Primary Key的值?

我正在使用Sqlite3和Flask微框架,但这个问题仅涉及Sqlite方面的事情..

以下是代码片段:

g.db.execute('INSERT INTO downloads (name, owner, mimetype) VALUES (?, ?, ?)', [name, owner, mimetype])
file_entry = query_db('SELECT last_insert_rowid()')
g.db.commit()
Run Code Online (Sandbox Code Playgroud)

downloads表有另一列,具有以下属性: id integer primary key autoincrement,

如果两个人同时写,上面的代码可能会产生错误.

交易可能很乱.在Sqlite中有一个简洁的内置方式来返回执行INSERT后生成的主键吗?

python sqlite flask

24
推荐指数
1
解决办法
3万
查看次数

从sqlite数据库Android获取最后插入的值

我试图从Android中的sqlite数据库中获取最后一个插入的rowid.我已经阅读了很多关于它的帖子,但是无法让它工作.这是我的方法:

 public Cursor getLastId() {
        return mDb.query(DATABASE_TABLE, new String[] {KEY_WID}, KEY_WID + "=" + MAX(_id), null, null, null, null, null);}
Run Code Online (Sandbox Code Playgroud)

我试过MAX,但我一定是错了.还有另外一种方法吗?

sqlite android lastinsertid

24
推荐指数
3
解决办法
7万
查看次数

具有索引的Android SQLite性能

我的Android应用程序通过使用在用户PC上生成并传输到设备的SQLite数据库来工作.这一切都有效,但我没有预料到拥有大量数据的用户数量.在这些情况下,UI在等待获取数据时非常缓慢.

我已经尝试了一些技巧,我"确定"会加快速度,但似乎没有任何明显的效果.我的查询几乎都非常简单,通常是WHERE子句的单个"col = val"和列中的INTEGER数据.所以我对查询做不了多少.

最新的,我不是SQL专家,无论如何都是在PC上使用"CREATE INDEX"命令,认为这些索引用于加速数据库搜索.索引显着增加了数据库文件的大小,所以我很惊讶它似乎对我的应用程序的速度没有任何影响!在没有索引的情况下花费8秒钟填充的屏幕仍然需要大约8秒钟.我希望能把事情减少至少一半.

我现在想知道的是,如果Android上的SQLite实现完全使用数据库索引,或者我只是通过生成它们来浪费空间.谁能回答这个问题?

还有什么其他的东西可以尝试加快访问速度?

(对于它的价值,在绝对的基础上,用户没有什么可抱怨的.到目前为止,我的最坏情况用户的数据产生了630,000条记录(15个表),所以只有这么多可能!)

Doug Gordon GHCS Systems

sqlite android

24
推荐指数
3
解决办法
2万
查看次数

什么是'Class.forName("org.sqlite.JDBC");' 做?

我正在尝试使用SQLite数据库创建一个简单的应用程序.我选择使用SQLiteJDBC驱动程序.

以下代码取自上述网站.我的问题是关于public static void main之后的行...

它写道: Class.forName("org.sqlite.JDBC");

我的问题是,这条线是什么意思?它做了什么?它似乎没有连接到其余的代码.Class.forName()应该返回一个班级,但这条线似乎独自站在体内.无论它返回的是代码的另一部分都没有使用,我可以看到.

请帮助澄清一下.提前致谢.

public class Test {
 public static void main(String[] args) throws Exception {
    Class.forName("org.sqlite.JDBC");
    Connection conn =
      DriverManager.getConnection("jdbc:sqlite:test.db");
    Statement stat = conn.createStatement();
    stat.executeUpdate("drop table if exists people;");
    stat.executeUpdate("create table people (name, occupation);");
    PreparedStatement prep = conn.prepareStatement(
      "insert into people values (?, ?);");

prep.setString(1, "Gandhi");
prep.setString(2, "politics");
prep.addBatch();
prep.setString(1, "Turing");
prep.setString(2, "computers");
prep.addBatch();

conn.setAutoCommit(false);
prep.executeBatch();
conn.setAutoCommit(true);

ResultSet rs = stat.executeQuery("select * from people;");
while (rs.next()) {
  System.out.println("name = " …
Run Code Online (Sandbox Code Playgroud)

java sqlite jdbc

24
推荐指数
1
解决办法
2万
查看次数

为什么Android 4.0上的INSERT和UPDATE速度较慢?

当Android 4.0于2011年12月推出Nexus S时,我们进行了一些性能测试:http: //greendao-orm.com/2011/12/17/sql-performance-in-android-4-0/ 在此输入图像描述

令人惊讶的是,在同一部手机上更新到Android 4.0之后,UPDATE和INSERT性能下降了一半(!).我们没有时间进一步调查,但也许其他人也这样做了?

可以推测,文件系统已经改变等等,但我正在寻找确凿的事实.;)

sqlite performance android android-4.0-ice-cream-sandwich

24
推荐指数
1
解决办法
1141
查看次数

Sqlite不在Visual Studio数据源选项列表中

下载并运行SQLite安装程序.
添加了对我的项目的dll引用
在服务器资源管理器中,添加了新连接,单击了"更改"数据源,SQLite是其中一个选项.
连接并使用我的表格.

然后...... VS 2010坠毁了.当我重新加载项目时,我的连接不在Server explorer中,因此尝试再次添加它.
SQLite不在选项列表中.
重新运行SQLite设置,删除/重新添加引用,重新启动项目......列表中仍然没有SQLite.

如何在Server Explorer中连接SQLite ???

sqlite visual-studio-2010

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

离线访问 - SQLite还是索引数据库?

我正处于开发应用程序的研发阶段,具有以下关键要求:

  • HTML5 Web应用程序 - 也将具有混合版本
  • 当没有Internet连接时,表单数据将存储在本地

由于配额限制,我无法使用网络存储 - 我正在比较SQLiteIndexed DB.

  • SQLite似乎最适合,但它已被弃用
  • 索引数据库是一个不错的选择,但没有Safari支持 - 混合应用程序应该在未来的iPad和Android设备上运行.

我对API的选择很困惑.在Safari上是否还有其他SQLite替代方案或索引数据库支持?

sqlite html5 local-storage indexeddb

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

Sqlite NULL和唯一?

我注意到我可以在具有UNIQUE约束的列中具有NULL值: UNIQUE(col)

这会在某些情况下产生任何问题吗?

sql sqlite null unique unique-constraint

24
推荐指数
2
解决办法
1万
查看次数

什么是Android中的"-journal"SQLite数据库?

在我的andoid应用程序的数据库目录(/data/data/com.me.myApp/databases)中,对于我创建的每个sqlite数据库,都有一个相同名称的相应数据库,并在其名称后附加了"-journal".

例如:myDatabase,myDatabase-journal,myOtherDatabase.db,myOtherDatabase.db-journal

这是什么?

和,

如果我为我的应用程序提供预填充数据库(根据:http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/)我是否需要包括这些也是?"

sqlite android journal

24
推荐指数
1
解决办法
2万
查看次数

在React Native应用程序中使用Realm与Redux

我即将开发React Native应用程序,并且完全相信使用Redux管理应用程序状态的好处,但是我想通过使用Realm进行持久存储来使应用程序的数据在离线时可用.我想知道Redux将如何与Realm一起玩?

我正在开发的应用程序将通过RESTful API提取大量的JSON数据,然后我想将这些数据保存到本地存储 - Realm似乎是一个很好的选择.然而,我不确定Realm数据库将如何存在于Redux商店中?它必须存在于商店外部吗?在基于Redux的应用程序中使用Realm在某种程度上是矛盾吗?

我已经很好地搜索了一些文章,这些文章描述了使用Realm或其他存储选项(Asyncstorage或SQLite)与Redux的大型数据集,并且可以找到很少的信息.

sqlite realm react-native redux asyncstorage

24
推荐指数
1
解决办法
4196
查看次数