Questions tagged «sqlite»

SQLite是一个软件库,可实现自包含,无服务器,零配置的事务型SQL数据库引擎。

8
Android Room Persistence Library:Upsert
Android的Room持久性库优雅地包含适用于对象或集合的@Insert和@Update批注。但是,我有一个用例(包含模型的推送通知),由于数据库中可能存在或可能不存在数据,因此需要UPSERT。 Sqlite本身没有upsert,因此在SO问题中描述了解决方法。给定那里的解决方案,如何将它们应用于Room? 更具体地说,如何在Room中实现不会破坏任何外键约束的插入或更新?在onConflict = REPLACE上使用insert将导致onDelete调用该行的任何外键。在我的情况下,onDelete导致级联,而重新插入行将导致其他表中具有外键的行被删除。这不是预期的行为。


1
Android SQLite:insert / replace方法中的nullColumnHack参数
Android SDK提供了一些使用SQLite操纵数据的便捷方法。但是插入和替换方法都使用一些nullColumnHack我不理解的参数。 该文档通过以下内容对此进行了解释,但是如果一个表具有多个允许的列NULL怎么办?我真的不明白:/ SQL不允许插入完全空的行,因此,如果initialValues为空,则此列[ / row for replace ]将被明确分配一个NULL值。
96 android  sqlite 

7
Android SQLite DB何时关闭
我正在使用android上的SQLite数据库。我的数据库管理器是一个单例,现在在初始化时打开与数据库的连接。确保数据库始终处于打开状态是安全的,这样当有人调用我的班级来使用数据库时,该数据库已经打开了吗?还是应该在每次访问之前和之后打开和关闭数据库。始终保持打开状态是否有害? 谢谢!
96 android  sqlite 

7
将SQLITE SQL转储文件转换为POSTGRESQL
我一直在使用SQLITE数据库和POSTGRESQL中的生产进行开发。我刚刚用大量数据更新了本地数据库,并且需要将特定的表传输到生产数据库。 基于运行sqlite database .dump > /the/path/to/sqlite-dumpfile.sql,SQLITE以以下格式输出表转储: BEGIN TRANSACTION; CREATE TABLE "courses_school" ("id" integer PRIMARY KEY, "department_count" integer NOT NULL DEFAULT 0, "the_id" integer UNIQUE, "school_name" varchar(150), "slug" varchar(50)); INSERT INTO "courses_school" VALUES(1,168,213,'TEST Name A',NULL); INSERT INTO "courses_school" VALUES(2,0,656,'TEST Name B',NULL); .... COMMIT; 如何将以上内容转换为可导入到生产服务器的POSTGRESQL兼容转储文件?

4
如何在Android应用程序中联接两个SQLite表?
背景 我有一个Android项目,该项目的数据库包含两个表:tbl_question和tbl_alternative。 要使用问题和替代方法填充视图,我正在使用游标。在尝试连接两个表之前,获取所需数据没有任何问题。 Tbl_question ------------- _ID 题 分类ID Tbl_alternative --------------- _ID 问题ID 分类ID 另类 我想要以下内容: SELECT tbl_question.question, tbl_alternative.alternative where categoryid=tbl_alternative.categoryid AND tbl_question._id = tbl_alternative.questionid.` 这是我的尝试: public Cursor getAlternative(long categoryid) { String[] columns = new String[] { KEY_Q_ID, KEY_IMAGE, KEY_QUESTION, KEY_ALT, KEY_QID}; String whereClause = KEY_CATEGORYID + "=" + categoryid +" …
95 android  sqlite 

8
Sqlite应用内数据库迁移的最佳实践
我正在为iPhone使用sqlite,并且我预计数据库架构可能会随着时间而改变。每次成功迁移需要注意哪些陷阱,命名约定和注意事项? 例如,我曾考虑过将一个版本附加到数据库名称(例如Database_v1)上。
94 iphone  sqlite 

17
System.Data.SQLite Close()不释放数据库文件
我在尝试删除文件之前关闭数据库时遇到问题。代码只是 myconnection.Close(); File.Delete(filename); 并且Delete引发一个例外,表明该文件仍在使用中。几分钟后,我在调试器中重新尝试了Delete(),所以这不是时间问题。 我有交易代码,但是在Close()调用之前根本没有运行。因此,我相当确定这不是公开交易。打开和关闭之间的sql命令只是选择。 ProcMon显示我的程序和我的防病毒软件正在查看数据库文件。它没有显示我的程序在close()之后释放db文件。 Visual Studio 2010,C#,System.Data.SQLite版本1.0.77.0,Win7 我看到了一个类似两年的错误,但变更日志说它已修复。 还有什么我可以检查的吗?有没有办法获取任何打开的命令或事务的列表? 新的工作代码: db.Close(); GC.Collect(); // yes, really release the db bool worked = false; int tries = 1; while ((tries < 4) && (!worked)) { try { Thread.Sleep(tries * 100); File.Delete(filename); worked = true; } catch (IOException e) // delete …

4
Sqlite或MySql吗?如何决定?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 改善这个问题 有什么好的经验法则可以决定要使用哪两个? 并且,如果您接管Sqlite数据库,并且系统有望“变大”,那么如何决定是坚持使用还是转用MySql?
94 mysql  database  sqlite 

2
更改SQLite默认设置
我们知道当类型.mode column让我看到诸如And列之类的表时.headers on,我们可以看到表头。但是我想知道是否有任何办法可以使这两个默认设置吗? 对sqlite的源代码做一些修改吗?或者是否有用于这些设置的配置文件?
94 sqlite 

12
如何从Sqlite获取最后记录?
我有一张桌子question_table和一张ImageButton(Back)。单击Back后,我需要从数据库中获取最后插入的记录。 我行包括下面的列:question,optionA,optionB,optionC,optionD,,我需要在我使用的数据Activity。我在数据库中创建了一种方法,但是它不起作用。 这是参考代码: MySQLiteHelper.java提取: public List<ObjectiveWiseQuestion> getLastInsertQuestion() { // long index = 0; List<ObjectiveWiseQuestion>LocwiseProfileList=new ArrayList<ObjectiveWiseQuestion>(); db = getReadableDatabase(); Cursor cursor = db.query( "sqlite_sequence", new String[]{"seq"}, "name = ?", new String[]{TABLE_QUESTION}, null, null, null, null ); if (cursor.moveToFirst()) { do { ObjectiveWiseQuestion owq= new ObjectiveWiseQuestion(); owq.setQuestion(cursor.getString(2)); owq.setOptionA(cursor.getString(3)); owq.setOptionB(cursor.getString(4)); owq.setOptionC(cursor.getString(5)); owq.setOptionD(cursor.getString(6)); owq.setCorrectOption(cursor.getString(7)); …
93 android  sqlite 


1
SQLite-将值增加一定数量
是否可以在不读取最后一个值并随后对其进行更新的情况下,将表中的某个值增加一定数量? 即我有“产品”和“质量”列:产品:iLamp质量:50 我想通过x增加(或减少)质量。为此,我首先读取最后一个值(50),增大或减小该值,然后将其写回。 有直接的方法可以完成此任务吗?
93 sqlite 


2
在SQLite上联接表时如何进行UPDATE?
我试过了 : UPDATE closure JOIN item ON ( item_id = id ) SET checked = 0 WHERE ancestor_id = 1 和: UPDATE closure, item SET checked = 0 WHERE ancestor_id = 1 AND item_id = id 两者都适用于MySQL,但是它们在SQLite中给了我语法错误。 如何使此UPDATE / JOIN与SQLite 3.5.9版一起使用?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.