問題タブ [sqlite]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
macos - MacSQLiteエディター
CocoaMySQLを知っていますが、SQLite用のMac GUIを見たことがありません。ありますか?
私のグーグル検索はMac関連のGUIを見つけられなかったので、グーグルではなくここで尋ねています。
database - 次の自動挿入された行IDを予測する(SQLite)
挿入される前に、挿入される次の行のIDを見つけるための信頼できる方法( SQLiteを使用)があるかどうかを見つけようとしています。別の挿入ステートメントにIDを使用する必要がありますが、次の行を即座に挿入して取得するオプションがありません。
次のIDの予測は、最後のIDを取得して追加するのと同じくらい簡単ですか?それは保証ですか?
編集:もう少し理由...挿入がユーザーによってキャンセルされる可能性があるため、すぐに挿入できません。ユーザーはいくつかの変更を行い、SQLステートメントが保存され、そこからユーザーは保存(すべての行を一度に挿入)またはキャンセル(何も変更しない)することができます。プログラムがクラッシュした場合、必要な機能は何も変更されないことです。
database - VB6 で SQLITE を使用する
現在、再配布可能なアプリに MSAccess mdb ファイルを使用しています。
少し前に、私のソリューションの代替として SQLite について知りましたが、それらが提供するバイナリは、VB6 でオブジェクトとして使用する可能性を提供しません。(または、少なくとも私はその方法を理解できませんでした)。
誰かがリンクを持っているか、VB6 から SQLite DB に接続すること、および ADO を使用する場合との違いについて少し書くことができますか?
database - TClientDataset 内の複数のテーブル?
複数のテーブルに対する複数のクエリの結果を TClientDataset に入れることはできますか?
ちょうど何か
一度に複数のテーブルから結果を取得するデータ プロバイダー (SetProvider) を取得する方法がわかりません。
c++ - sqliteの優れたOOC++ラッパーとは何ですか
sqlite用の(Cではなく)優れたオブジェクト指向のC++ラッパーを見つけたいと思います。人々は何をお勧めしますか?いくつかの提案がある場合は、投票のために別々の返信に入れてください。また、提案しているラッパーの経験があるかどうか、およびそれをどのように使用したかを示してください。
sqlite - カレンダー日をsqliteデータベースに保存する
sqlite データベースにカレンダーの日付 (日付のみ、時間なし) のアイテムを保存する必要があります。列の日付を表す最良の方法は何ですか? 妥当な代替手段として、ユリウス日と UNIX 秒が思い浮かびます。日以外の単位を使用する場合、それは何時にすべきですか?
更新: 私は ISO8601 を認識しており、実際にそれを使用して、プロトタイプの YYYY-MM-DD 形式の文字列として日付を格納しました。しかし、さまざまな算術演算では、内部で数値に変換する必要があるため、数値を保存して、表示用に文字列に変換することをお勧めします。この数字の単位は何ですか? また、単位が日よりも正確な場合は、どの時刻を使用する必要がありますか?
sqlite - PostgreSQL の SQLite 日時関数に相当するものは何ですか?
質問はかなり自明です。SQLiteの日時関数に相当する PostgreSQL を探しています。
database - 極端なシャーディング: ユーザーごとに 1 つの SQLite データベース
私は、電子メール サービスとソーシャル ネットワークの間のどこかにある Web アプリに取り組んでいます。今後かなり大きくなる可能性を感じているので、スケーラビリティが気になります。
集中化された 1 つの MySQL/InnoDB データベースを使用し、その時が来たらそれを分割する代わりに、アクティブなユーザーごとに個別の SQLite データベースを作成することにしました。つまり、「シャード」ごとに 1 つのアクティブなユーザーです。
そうすれば、データベースのバックアップは、各ユーザーの小さなデータベース ファイルをリモートの場所に 1 日に 1 回コピーするのと同じくらい簡単になります。
スケールアップは、新しいファイルを保存するためにハードディスクを追加するのと同じくらい簡単です。
アプリが単一のサーバーを超えて成長した場合、GlusterFS を使用してファイルシステム レベルでサーバーをリンクし、アプリを変更せずに実行するか、各サーバーが隣接するサーバーの sqlite ファイルを操作できるようにする単純な SQLite プロキシ システムを装備できます。
各 HTTP リクエストは一度に 1 つまたは 2 つのデータベース ファイルにしかアクセスせず、SQLite は読み取り時にのみブロックするため、同時実行の問題は最小限に抑えられます。
このアプローチにより、アプリを適切にスケーリングし、多くのクールでユニークな機能をサポートできると確信しています。私は間違った賭けですか?何か不足していますか?
更新これまでのところ問題なく機能している、それほど極端ではないソリューションを使用することにしました。私は一定数のシャードを使用しています - 正確には256個のsqliteデータベースです。各ユーザーは、単純なハッシュ関数によってランダムなシャードに割り当てられ、バインドされます。
私のアプリのほとんどの機能では、1 回のリクエストで 1 つまたは 2 つのシャードにアクセスする必要がありますが、ユーザーによっては、256 個の異なるシャードのうち 10 ~ 100 個の異なるシャードに対して単純なクエリを実行する必要があるものがあります。テストでは、すべてのデータが RAM にキャッシュされている場合、約 0.02 秒以下かかることが示されています。私はそれで生きていけると思います!
UPDATE 2.0アプリを MySQL/InnoDB に移植し、通常のリクエストではほぼ同じパフォーマンスを得ることができましたが、シャード ウォーキングを必要とするその 1 つのリクエストでは、innodb が 4 ~ 5 倍高速です。この理由とその他の理由で、私はこのアーキテクチャを削除しますが、どこかで誰かがその用途を見つけてくれることを願っています...ありがとう。
sqlite - SQLiteデータベースのロックを解除するにはどうすればよいですか?
これが機能するようにデータベースのロックを解除するにはどうすればよいですか?
sql - 含まれている場合は、Sqlite 更新フィールド
「widget_ids」という名前のデータベース フィールドがあり、「67/797/124/」や「45/」などのデータを含み、数字がスラッシュで区切られた widget_ids である場合...次のような SQL で更新ステートメントを作成するにはどうすればよいでしょうか。 ID X の行の widget_ids にテキスト "somenumber/" が含まれている場合は何もせず、それ以外の場合は "somenumber/" を現在の値に追加します"
SQL、より具体的には sqlite でそのようなことができますか? なんらかの理由でプログラムでより適切に実行されるものですか、それとも SQL の「if-then」のような構文のサポートはありますか?