Tag: 源码

SQLite – 获取数据库中的行数

我想使用max(id)在我的表中获得多个行。 当它返回NULL – 如果表中没有行 – 我想返回0.当有行我想返回max(id) + 1 。 我的行正在从0编号和自动增加。 这是我的陈述: SELECT CASE WHEN MAX(id) != NULL THEN (MAX(id) + 1) ELSE 0 END FROM words 但它总是回报我0.我做错了什么?

sqlite的 – 如何让INSERT或IGNORE工作

我试图插入数据到表中。 我想插入行,如果列没有数据已经​​ – 无论其他列。 CREATE TABLE t ( id INTEGER PRIMARY KEY, name VARCHAR, other INT ); INSERT OR IGNORE INTO t (name) VALUES ('a'); INSERT OR IGNORE INTO t (name) VALUES ('a'); INSERT OR IGNORE INTO t (name) VALUES ('a'); 有了上面的代码片断,我会想到3行,而不是1。 如果实际的sql发生在INSTEAD OF INSERT触发器内部,这只是一个简单的testing用例。

我可以从多个连接同时读取和写入SQLite数据库吗?

我有一个由两个进程使用的SQLite数据库。 我想知道,最新版本的SQLite,而一个进程(连接)启动一个事务写入数据库将另一个进程能够从数据库同时读取?

SQLite是否在读取时locking数据库文件?

我正在研究SQLite作为存储引擎,并且很想知道SQLite是否在读取时locking数据库文件。 我担心阅读的performance,因为我计划的项目只有很less的写作,但是有很多读。 如果数据库确实locking,是否有措施可以采取(如内存caching)来缓解这种情况?

Sqlite DBpipe理器应用程序的build议?

这里列出了很多Sqlite GUI应用程序: http://www.sqlite.org/cvstrac/wiki?p=ManagementTools 有些似乎是不完整的,越野车,没有维护等。你有什么build议吗?

如何获取列名称的列表

有可能获得一个像这样的表的所有列名称的行: |id|foo|bar|age|street|address| 我不喜欢用Pragma table_info(bla) 。

SQLite表磁盘使用情况

如何在SQLite数据库中查找单个表的磁盘使用情况,而不将其复制到新的空数据库中?

截断SQLite表,如果它存在?

要在SQLite中截断一个表,我需要使用下面的语法: DELETE FROM someTable 但是,如何才能截断表,如果它存在? 不幸的是这会抛出一个错误: DELETE FROM someTable IF EXISTS 这也不起作用: DELETE IF EXISTS FROM someTable 谢谢。

SQLite“插入或更换进入”与“更新…在哪里”

我从来没有见过INSERT OR REPLACE INTO names (id, name) VALUES (1, "John")在SQL中使用过,我想知道为什么它比UPDATE names SET name = "John" WHERE id = 1更好UPDATE names SET name = "John" WHERE id = 1 。 有没有什么好的理由使用一个在另一个。 这个语法是特定于SQLite吗?

使用SQLite如何索引CREATE TABLE语句中的列?

我如何索引CREATE TABLE语句中的列? 桌子看起来像 command.CommandText = "CREATE TABLE if not exists file_hash_list( " + "id INTEGER PRIMARY KEY, " + "hash BLOB NOT NULL, " + "filesize INTEGER NOT NULL);"; command.ExecuteNonQuery(); 我希望文件大小是索引,并希望它是4个字节