标签: sqlite

在sqlite中创建一个索引列

我可以在sqlite的create table命令中的列上创建索引吗?

我在Android shell的sqlite3中尝试了以下命令.它似乎工作.

sqlite> create table mytest (id integer indexed);
sqlite> .schema
CREATE TABLE mytest (id integer indexed);
Run Code Online (Sandbox Code Playgroud)

但是,在sqlite的查询语言规范中,不支持指定要编制索引的列:

http://www.sqlite.org/lang_createtable.html

我错过了什么?

谢谢.

sqlite android

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

随机异常android.database.sqlite.SQLiteException:无法打开数据库文件

我的应用程序使用未捕获的异常处理程序,在应用程序崩溃时将堆栈跟踪发送给我.我经常从随机用户那里得到这份报告.

我无法复制它,数据库的打开总是在我的情况下成功.这不是存储在外部SD卡上的数据库,只是打开的数据库SQLiteOpenHelper(context, "SomeName", null, someVersionCode).

你有这方面的经验吗?在打开数据库之前我可以检查哪些可能性?

谢谢!

android.database.sqlite.SQLiteException: unable to open database file
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
    at android.app.ActivityThread.access$2200(ActivityThread.java:119)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:123)
    at android.app.ActivityThread.main(ActivityThread.java:4363)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:521)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
    at dalvik.system.NativeStart.main(Native Method)
Caused by: android.database.sqlite.SQLiteException: unable to open database file
    at android.database.sqlite.SQLiteDatabase.dbopen(Native Method)
    at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1698)
    at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:739)
    at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:761)
    at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:754)
    at android.app.ApplicationContext.openOrCreateDatabase(ApplicationContext.java:476)
    at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:193)
    at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:98)
Run Code Online (Sandbox Code Playgroud)

database sqlite android

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

当另一个表中不存在匹配项时,从SQLite表中删除行

我需要删除SQLite表中的行,其中行ID在另一个表中不存在.SELECT语句返回正确的行:

SELECT * FROM cache LEFT JOIN main ON cache.id=main.id WHERE main.id IS NULL;
Run Code Online (Sandbox Code Playgroud)

但是,delete语句会从SQLIte生成错误:

DELETE FROM cache LEFT JOIN main ON cache.id=main.id WHERE main.id IS NULL;
Run Code Online (Sandbox Code Playgroud)

错误是:SQLite错误1 - 接近"左":语法错误.我可以使用另一种语法吗?

sqlite left-join sql-delete

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

将Rails应用程序推送到Heroku时,"sqlite3.h"丢失了

我正在学习本教程,但是当我尝试推送到Heroku时失败了.似乎缺少"sqlite3.h".我是新手,所以我不确定哪些信息可以帮助人们诊断问题,所以这就是一切:).我在Mac OS X 10.7 Lion上运行.以下是我正在使用的所有内容的版本:

Amits-MacBook-Air-2:demo_app amitgupta$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.3.0]
Amits-MacBook-Air-2:demo_app amitgupta$ rails -v
Rails 3.2.3
Amits-MacBook-Air-2:demo_app amitgupta$ sqlite3 -version
3.7.11 2012-03-20 11:35:50 00bb9c9ce4f465e6ac321ced2a9d0062dc364669
Amits-MacBook-Air-2:demo_app amitgupta$ heroku -v
2.25.0
Amits-MacBook-Air-2:demo_app amitgupta$ port -v
MacPorts 2.0.4
Entering interactive mode... ("help" for help, "quit" to quit)
[RailsApps/demo_app] > quit 
Goodbye
Run Code Online (Sandbox Code Playgroud)

当我尝试推送到Heroku时:

Amits-MacBook-Air-2:demo_app amitgupta$ heroku create --stack cedar
Creating floating-stream-8009... done, stack is cedar
http://floating-stream-8009.herokuapp.com/ | git@heroku.com:floating-stream-8009.git
Amits-MacBook-Air-2:demo_app amitgupta$ git push heroku master
Run Code Online (Sandbox Code Playgroud)

这是我得到的:

Counting objects: …
Run Code Online (Sandbox Code Playgroud)

git sqlite push ruby-on-rails heroku

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

SQLite将默认时间戳存储为unixepoch

在定义关系时,我想将属性更新为插入时的时间戳.例如,我现在有一张工作台

CREATE TABLE t1(
id INTEGER PRIMARY KEY AUTOINCREMENT,
time TIMESTAMP
DEFAULT CURRENT_TIMESTAMP,
txt TEXT);
Run Code Online (Sandbox Code Playgroud)

这是在插入时更新时间戳,例如,insert into t1 (txt) values ('hello')添加行1|2012-07-19 08:07:20|hello|.但是,我希望这个日期格式化为unixepoch格式.

我阅读了文档,但目前尚不清楚.例如,我修改了表关系,time TIMESTAMP DEFAULT DATETIME('now','unixepoch')但是我得到了一个错误.在这里,就像在文档中一样,now是我的时间字符串并且unixepoch是修饰符,但它不起作用.有人可以帮助我如何将其格式化为unixepoch时间戳吗?

sqlite timestamp

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

如何使用SQL命令文件创建SQLite3数据库文件?

我有一个包含一些SQL命令的文件,如下所示:

CREATE DATABASE IF NOT EXISTS `db_name`;
USE `db_name`;

CREATE TABLE IF NOT EXISTS `customers` (
  `id` int(10) unsigned NOT NULL,
  `f_name` varchar(50) DEFAULT NULL,
  `l_name` varchar(50) DEFAULT NULL,
  `company_name` varchar(200) DEFAULT NULL,
  `email` varchar(50) DEFAULT NULL,
  `phone` varchar(25) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `customers` (`id`, `f_name`, `l_name`, `company_name`, `email`, `phone`) VALUES
    ...
    ...
    ...
Run Code Online (Sandbox Code Playgroud)

我想使用这些命令创建一个SQLite3数据库文件,以便在Python中轻松使用它.

我如何在Ubuntu上做到这一点?

sql database sqlite

23
推荐指数
1
解决办法
5万
查看次数

SQLite和并发

我需要在我们的一个产品中集成一个数据库,我想知道哪一个更适合我们的需求(简单的自动部署,没有管理,良好的性能),而sqlite似乎是一个很好的解决方案.问题是数据库可能面临高并发问题:每次客户端连接到运行数据库的服务器时,都会通过PHP(Apache)访问它.一个客户端大约每10秒钟连接(并执行一次INSERT查询)到服务器,并且可能有超过100个客户端在运行.

执行INSERT查询时,sqlite会在特定时间锁定整个数据库一段时间.有没有办法计算持续时间?如果这是不可能的,你认为sqlite(v3.3.7)仍然适应上述条件吗?

sqlite

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

致命错误:sqlite3.h:没有这样的文件或目录

我正在尝试通过交叉编译为Zynq板(ARM架构)构建C应用程序.当我输入make而不提及ARM拱门时,它在我的笔记本电脑上工作正常.但是一旦我修改了Makefile,我就会收到一条错误信息:

main.c:20:43: fatal error: sqlite3.h: No such file or directory
 #include "sqlite3.h" //library for sqlite3
                                           ^
compilation terminated.
make: *** [ws_temp_server] Error 1
Run Code Online (Sandbox Code Playgroud)

Makefile看起来像这样:

SOURCE=lib/base64_enc.c lib/websocket.c lib/sha1.c lib/sqlite/sqlite3.c main.c 
CC = arm-xilinx-linux-gnueabi-gcc
LDFLAGS=-lpthread -ldl
INCLUDES=lib/
PROGRAM=ws_temp_server

all: $(PROGRAM)

$(PROGRAM): $(SOURCE)
    $(CC) $(SOURCE) -I$(INCLUDES) -o$(PROGRAM) $(LDFLAGS)
clean:
    rm $(PROGRAM)
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?感谢您提供的任何帮助.

sqlite arm makefile compilation zynq

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

Realm vs Sqlite用于移动开发

作为一个Xamarin开发人员,我曾经使用Sqlite作为移动数据库,
最近Realm出现了.
关于它们在性能和易用性方面的差异的任何想法..等等?

使用任何一种方法的最佳做法是什么?

database sqlite mobile realm xamarin

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

如何从REST调用中导入数据,将json feed导入MAC上的SQLite数据库?

我在SQL Server数据库中的服务器上有数据.我可以通过REST调用访问我控制的C#ASP.Net Web.API,它将返回json数据.可能我可以得到它来返回其他格式的数据,但我不确定.我可以完全访问服务器应用程序和它创建的json.

在我的开发Mac上,我使用DB Browser for SQLite和Xamarin来开发一个多平台的应用程序.我创建了一个小的SQLite数据库.

如何从服务器上的某些表中导入/插入JSON数据到我在MAC上创建的SQLite数据库中的表?我需要手动执行此操作,但我想自动执行导入bash脚本的过程或类似于我可以使用命令运行的过程.

我已经研究了这个,但似乎没有找到任何如何做的例子,所以我开了一笔赏金,希望有人可以给出一个对我和其他人有很大帮助的答案.

sql-server sqlite macos node.js xamarin

23
推荐指数
1
解决办法
947
查看次数