タグ付けされた質問 「sqlite」

SQLiteは、自己完結型、サーバーレス、ゼロ構成のトランザクションSQLデータベースエンジンを実装するソフトウェアライブラリです。

8
Android Room Persistence Library:Upsert
AndroidのRoom永続化ライブラリには、オブジェクトまたはコレクションに対して機能する@Insertおよび@Updateアノテーションが含まれています。ただし、データがデータベースに存在する場合と存在しない場合があるため、UPSERTを必要とするユースケース(モデルを含むプッシュ通知)があります。 Sqliteにはネイティブのアップサートはありません。回避策はこのSO質問で説明されています。そこでの解決策を考えると、どのようにそれらを部屋に適用するのでしょうか? より具体的には、外部キー制約を壊さないようにRoomに挿入または更新を実装するにはどうすればよいですか?onConflict = REPLACEでinsertを使用すると、その行への外部キーのonDeleteが呼び出されます。私の場合、onDeleteはカスケードを引き起こし、行を再挿入すると、外部キーを持つ他のテーブルの行が削除されます。これは意図された動作ではありません。


1
Android SQLite:挿入/置換メソッドのnullColumnHackパラメーター
Android SDKには、SQLiteでデータを操作するための便利なメソッドがいくつかあります。ただし、挿入メソッドと置換メソッドの両方で、nullColumnHack使用法がわからないパラメーターを使用しています。 ドキュメントはそれを次のように説明していますが、テーブルに複数の列を許可するとNULLどうなりますか?本当にわかりません:/ SQLでは完全に空の行を挿入できないため、initialValuesが空の場合、この列[ / row for replace ]には明示的にNULL値が割り当てられます。
96 android  sqlite 

7
Android SQLite DBを閉じるタイミング
AndroidでSQLiteデータベースを使用しています。データベースマネージャーはシングルトンで、初期化時にデータベースへの接続を開いています。誰かが私のクラスを呼び出してデータベースを操作するときにすでに開いているように、データベースをずっと開いたままにしても安全です。または、各アクセスが必要になる前後にデータベースを開いて閉じる必要があります。ずっと開いたままにしておくことに害はありますか? ありがとう!
96 android  sqlite 

17
System.Data.SQLite Close()がデータベースファイルを解放しない
ファイルを削除しようとする前にデータベースを閉じるのに問題があります。コードは myconnection.Close(); File.Delete(filename); そして、削除はファイルがまだ使用中であるという例外をスローします。数分後にデバッガーでDelete()を再試行したので、タイミングの問題ではありません。 トランザクションコードがありますが、Close()呼び出しの前に実行されません。だから私はそれがオープンな取引ではないと確信しています。openとcloseの間のSQLコマンドは、単に選択するだけです。 ProcMonは、私のプログラムと私のアンチウイルスがデータベースファイルを見ているところを示しています。close()の後でdbファイルを解放するプログラムは表示されません。 Visual Studio 2010、C#、System.Data.SQLiteバージョン1.0.77.0、Win7 私はこのように2年前のバグを見ましたが、変更ログはそれが修正されたと言っています。 他に確認できることはありますか?開いているコマンドまたはトランザクションのリストを取得する方法はありますか? 新しい、機能するコード: 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 …

7
SQLITE SQLダンプファイルをPOSTGRESQLに変換する
私はPOSTGRESQLで本番環境でSQLITEデータベースを使用して開発を行っています。ローカルデータベースを大量のデータで更新しただけで、特定のテーブルを本番データベースに転送する必要があります。 実行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アプリケーションで2つのSQLiteテーブルを結合するにはどうすればよいですか?
バックグラウンド 私は2つのテーブルを持つデータベースを持っているAndroidのプロジェクトを持っている:tbl_questionとtbl_alternative。 ビューに質問と代替案を取り込むために、カーソルを使用しています。2つのテーブルを結合するまで、必要なデータを取得するのに問題はありません。 Tbl_question ------------- _id 質問 categoryid Tbl_alternative --------------- _id 質問ID categoryid 代替 次のようなものが欲しい: 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 

4
SqliteまたはMySql?どうやって決める?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4年前休業。 この質問を改善する どちらを使用するかを決定する方法についての良い経験則はありますか? また、Sqliteデータベースを引き継いで、システムが「はるかに大きくなる」ことが予想される場合、それを維持するか、MySqlに移行するかをどのように決定しますか?
94 mysql  database  sqlite 

12
Sqliteから最後のレコードを取得する方法?
1つのテーブルquestion_tableと1つのImageButton(戻る)があります。[ 戻る ]をクリックした後、最後に挿入したレコードをデータベースから取得する必要があります。 私の行は次の列が含まれていますquestion、optionA、optionB、optionC、optionD、と私は私の上で使用するデータを必要としますActivity。データベースにメソッドを1つ作成しましたが、機能しません。 参照用のコードは次のとおりです。 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)); …
93 android  sqlite 


1
SQLite-特定の数だけ値を増やします
最後の値を読み取らずに更新することなく、テーブルの特定の値を特定の数だけ増やすことは可能ですか? つまり、「製品」と「品質」の列があります。製品:iLampの品質:50 品質をxずつ上げたり下げたりしたい。これを達成するために、私は最初に最後の値(50)を読み、それを増減し、それを書き戻します。 このタスクを完了する直接の方法はありますか?
93 sqlite 


2
SQLiteのデフォルト設定を変更する
タイプすると.mode column、列などのテーブルが表示されます。.headers on、テーブルのヘッダーを表示できます。しかし、私は2つのデフォルト設定を行う方法があるかどうか知りたいですか? sqliteのソースコードを変更しますか?または、これらの設定の構成ファイルはありますか?
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で動作させるにはどうすればよいですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.