DATABASES = {
# 'default': {
# 'ENGINE': 'postgresql_psycopg2',
# ...
# }
# for unit tests
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'mydatabase'
}
}
Run Code Online (Sandbox Code Playgroud)
我有两个数据库:一个我想用于单元测试,一个用于其他一切.是否可以在Django 1.2.4中配置它?
(我问的原因是因为使用postgresql我收到以下错误:
foo@bar:~/path/$ python manage.py test
Creating test database 'default'...
Got an error creating the test database: permission denied to create database
Type 'yes' if you would like to try deleting the test database 'test_baz', or 'no' to cancel: yes
Destroying old test database...
Got an error recreating the test database: database "test_baz" does …Run Code Online (Sandbox Code Playgroud) 在MySQL中,您可以使用以下语句选择X随机行:
SELECT * FROM table ORDER BY RAND() LIMIT X
Run Code Online (Sandbox Code Playgroud)
但是,这在SQLite中不起作用.有同等的吗?
我一直在尝试在我的Android SQLite数据库中使用外键.我尝试了以下语法,但它给了我一个力量关闭:
private static final String TASK_TABLE_CREATE = "create table "
+ TASK_TABLE + " (" + TASK_ID
+ " integer primary key autoincrement, " + TASK_TITLE
+ " text not null, " + TASK_NOTES + " text not null, "
+ TASK_DATE_TIME + " text not null, FOREIGN KEY ("+TASK_CAT+") REFERENCES "+CAT_TABLE+" ("+CAT_ID+"));";
Run Code Online (Sandbox Code Playgroud)
我有什么想法可能做错了吗?如果您需要查看其他表结构,那么我可以,它只是一个非常简单的结构,第二个带有ID和名称.
编辑:
这是错误:
03-13 13:42:35.389:ERROR/AndroidRuntime(312):引起:android.database.sqlite.SQLiteException:外键定义中的未知列"taskCat":创建表提醒(_id整数主键自动增量,task_title文本没有null,notes text not null,reminder_date_time text not null,FOREIGN KEY(taskCat)REFERENCES category(_id));
如何使用SQLite获取Android中查询的行数?看来我的以下方法不起作用.
public int getFragmentCountByMixId(int mixId) {
int count = 0;
SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
Cursor cursor = db.rawQuery(
"select count(*) from downloadedFragement where mixId=?",
new String[]{String.valueOf(mixId)});
while(cursor.moveToFirst()){
count = cursor.getInt(0);
}
return count;
}
Run Code Online (Sandbox Code Playgroud) 我是Android新手,我必须创建一个需要使用SQLite数据库的应用程序.我对SQLite的配备不是很好.
你能告诉我这个类的目的和用途SQLiteOpenHelper,并提供一个简单的数据库创建和插入示例吗?
是否可以在SQLite中使用UUID值作为主键?我发现关于这个主题的信息非常有限,所以我不确定SQLite是否支持UUID数据类型.我应该将UUID存储为字符串吗?
我遇到了一个针对Android和iOS构建的PhoneGap应用程序的问题.在iOS和大多数Android设备上,除三星Galaxy S3和S4外,它的功能完美.
在第一页加载时,应用程序会创建一个本地SQL数据库.此数据库用于存储整个应用程序中的问题和答案的值.
我在三星设备上遇到的问题是,第一次运行应用程序时数据库无法正常加载,但是如果用户完全关闭应用程序并重新打开它,则会创建没有错误的数据库.由于第一页要求用户输入其年龄,然后将值存储在SQL数据库中,因此用户会得到应用程序此时已冻结的印象.
数据库的初始化代码:
的index.html
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
populateDB();
}
Run Code Online (Sandbox Code Playgroud)
main_js.js
function populateDB() {
var db = window.openDatabase("Database", "1.0", "My Database", 20000);
db.transaction(populate_DB, errorCB, successCB);
}
function populate_DB(tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS Options (ID INTEGER UNIQUE NOT NULL, Name TEXT NOT NULL, Value INTEGER NOT NULL)');
tx.executeSql('CREATE TABLE IF NOT EXISTS Questions (ID INTEGER UNIQUE NOT NULL, Question TEXT NOT NULL, Answer TEXT)');
tx.executeSql('INSERT OR IGNORE INTO Options (ID, Name, Value) VALUES (1, "License", …Run Code Online (Sandbox Code Playgroud) 我有一个表格布局,我想用数据库查询的结果填充.我使用select all并且查询返回四行数据.
我使用此代码填充表行内的textviews.
Cursor c = null;
c = dh.getAlternative2();
startManagingCursor(c);
// the desired columns to be bound
String[] columns = new String[] {DataHelper.KEY_ALT};
// the XML defined views which the data will be bound to
int[] to = new int[] { R.id.name_entry};
SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this,
R.layout.list_example_entry, c, columns, to);
this.setListAdapter(mAdapter);
Run Code Online (Sandbox Code Playgroud)
我希望能够分离KEY_ALT的四个不同值,并选择它们的去向.我希望他们在上面的示例中填充四个不同的textview而不是一个.如何迭代生成的游标?
此致,AK
我的数据库大约是25 MB,我已经确认访问它的用户名以及文件权限在几个月内没有变化.我遇到问题,由于"数据库或磁盘已满",查询失败,有时"数据库磁盘映像格式错误"问题.
除非我读错了,否则我的磁盘不会接近满(这是一个Ubuntu服务器,9.10,如果它有任何区别)
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 19610300 2389596 16224560 13% /
udev 10240 128 10112 2% /dev
none 254136 0 254136 0% /dev/shm
none 254136 36 254100 1% /var/run
none 254136 0 254136 0% /var/lock
none 254136 0 254136 0% /lib/init/rw
Run Code Online (Sandbox Code Playgroud)
作为一个测试,我刚刚做了一个添加了新记录的动作,这很好.我试图确定是否有一组特定的失败行动.但是,在插入(并验证它在那里)之后,磁盘上数据库的字节数没有改变(既不向上也不向下).
使用命令行实用程序会产生类似下面的内容,这会非常失败:)
SQLite version 3.6.12
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> pragma integrity_check;
*** in database main ***
On tree page 2 cell 0: 2nd reference to page …Run Code Online (Sandbox Code Playgroud) sqlite ×10
android ×5
sql ×2
cordova ×1
corruption ×1
count ×1
cursor ×1
database ×1
django ×1
file ×1
filesystems ×1
foreign-keys ×1
javascript ×1
postgresql ×1
row ×1
unit-testing ×1
uuid ×1