标签: sqlite

SQLite表约束 - 在多列上唯一

我可以在SQLite网站上找到关于此的语法"图表",但没有示例和我的代码崩溃.我在单个列上有其他具有唯一约束的表,但我想在两列上向表添加约束.这就是我所带来的SQLiteException,消息"语法错误".

CREATE TABLE name (column defs) 
UNIQUE (col_name1, col_name2) ON CONFLICT REPLACE
Run Code Online (Sandbox Code Playgroud)

我这样做是基于以下几点:

表约束

为了清楚起见,我提供的链接上的文档说明CONTSTRAINT name应该在我的约束定义之前.

可能导致解决方案的一点是,无论我的括号列定义如何,调试器都会抱怨.

如果我放

...last_column_name last_col_datatype) CONSTRAINT ...
Run Code Online (Sandbox Code Playgroud)

错误接近"CONSTRAINT":语法错误

如果我放

...last_column_name last_col_datatype) UNIQUE ...
Run Code Online (Sandbox Code Playgroud)

错误接近"UNIQUE":语法错误

sqlite compound-key unique-constraint

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

创建存储过程和SQLite?

在使用SQLite时,是否可以以某种方式创建存储过程?

sqlite stored-procedures

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

使用Android和SQLite从数据库中获取布尔值

如何在Android上的SQLite数据库中获取布尔字段的值?

我通常使用getString(),getInt()等来获取我的字段的值,但似乎没有getBoolean()方法.

java sqlite android boolean

166
推荐指数
6
解决办法
8万
查看次数

转义单引号字符以在SQLite查询中使用

我编写了数据库模式(到目前为止只有一个表),并在一个文件中编写了该表的INSERT语句.然后我创建了数据库,如下所示:

$ sqlite3 newdatabase.db
SQLite version 3.4.0
Enter ".help" for instructions
sqlite> .read ./schema.sql
SQL error near line 16: near "s": syntax error
Run Code Online (Sandbox Code Playgroud)

我的文件的第16行看起来像这样:

INSERT INTO table_name (field1, field2) VALUES (123, 'Hello there\'s');
Run Code Online (Sandbox Code Playgroud)

问题是单引号的转义字符.我也试过双重转义单引号(使用\\\'而不是\'),但这也不起作用.我究竟做错了什么?

sqlite escaping

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

SQLite并发访问

SQLite3是否安全地处理来自同一个DB读取/写入的多个进程的并发访问?有没有平台例外?

sqlite

162
推荐指数
7
解决办法
8万
查看次数

如何从Android中删除sqlite中表的所有记录?

我的应用程序有两个按钮,第一个按钮用于删除用户输入的记录,第二个按钮用于删除所有记录.但是,当我想删除数据时,它会显示消息
"您的应用程序已被强制停止".

请检查我的代码并给我一些建议.

public void deleteAll()
{
    //SQLiteDatabase db = this.getWritableDatabase();
   // db.delete(TABLE_NAME,null,null);
    //db.execSQL("delete * from"+ TABLE_NAME);
    db.execSQL("TRUNCATE table" + TABLE_NAME);
    db.close();
}
Run Code Online (Sandbox Code Playgroud)

public void delete(String id)
{
    String[] args={id};
    getWritableDatabase().delete("texts", "_ID=?", args);
}
Run Code Online (Sandbox Code Playgroud)

但它显示以下Log cat错误.

03-07 15:57:07.143: ERROR/AndroidRuntime(287): Uncaught handler: thread main exiting due to uncaught exception
03-07 15:57:07.153: ERROR/AndroidRuntime(287): java.lang.NullPointerException
03-07 15:57:07.153: ERROR/AndroidRuntime(287):     at com.example.MySQLiteHelper.delete(MySQLiteHelper.java:163)
03-07 15:57:07.153: ERROR/AndroidRuntime(287):     at com.example.Settings$4.onClick(Settings.java:94)
-07 15:57:07.153: ERROR/AndroidRuntime(287):     at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:158)
03-07 15:57:07.153: ERROR/AndroidRuntime(287):     at android.os.Handler.dispatchMessage(Handler.java:99)
03-07 15:57:07.153: ERROR/AndroidRuntime(287):     at android.os.Looper.loop(Looper.java:123)
03-07 15:57:07.153: …
Run Code Online (Sandbox Code Playgroud)

sqlite android

161
推荐指数
9
解决办法
29万
查看次数

如何在使用Python在SQLite中插入行后检索插入的id?

如何在使用Python在SQLite中插入行后检索插入的id?我有这样的表:

id INT AUTOINCREMENT PRIMARY KEY,
username VARCHAR(50),
password VARCHAR(50)
Run Code Online (Sandbox Code Playgroud)

我插入一个新行,例如数据username="test"password="test".如何以事务安全的方式检索生成的id?这适用于网站解决方案,其中两个人可能同时插入数据.我知道我可以得到最后一行,但我不认为这是交易安全的.有人可以给我一些建议吗?

python sqlite

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

使用Fragments进行Android搜索

有人知道一个教程或如何用s 实现标准Android搜索界面的例子Fragment吗?换句话说,是否可以SearchManager在片段中使用标准搜索?

java sqlite android android-searchmanager android-fragments

155
推荐指数
7
解决办法
8万
查看次数

sqlite alter table在单个语句中添加MULTIPLE列

是否可以在sqlite中的单个语句中更改表添加MULTIPLE列?以下不起作用.

alter table test add column mycolumn1 text, add column mycolumn2 text;

sql sqlite alter-table

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

如何以编程方式从Android删除SQLite数据库

我想以Android file system编程方式删除数据库文件?我是否可以启动adbshell脚本,然后在Android空间中运行shell脚本来删除数据库?我可以在JUnit测试用例(通过system()电话)中完成此操作吗?

如何在Android中删除整个数据库?我需要让整个事情消失,这样我才能测试数据库创建.我可以放桌子,但这还不够.这是在模拟器中,而不是在手机上.

sqlite android

148
推荐指数
6
解决办法
17万
查看次数