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

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

10
テーブルの行を更新したり、存在しない場合は挿入したりするにはどうすればよいですか?
私は次のカウンターの表を持っています: CREATE TABLE cache ( key text PRIMARY KEY, generation int ); カウンターの1つをインクリメントするか、対応する行がまだ存在しない場合はゼロに設定したいと思います。標準SQLで並行性の問題なしにこれを行う方法はありますか?操作はトランザクションの一部である場合もあれば、別個の場合もあります。 可能であれば、SQLはSQLite、PostgreSQL、MySQLで変更せずに実行する必要があります。 検索により、並行性の問題に悩まされているか、データベースに固有のアイデアがいくつか見つかりました。 INSERT新しい行を試してUPDATE、エラーが発生した場合。残念ながら、のエラーINSERTは現在のトランザクションを中止します。 UPDATEINSERT行。行が変更されていない場合は、新しい行。 MySQLにはON DUPLICATE KEY UPDATE句があります。 編集:すべての素晴らしい返信をありがとう。ポールは正しいように見えますが、これを行うための単一のポータブルな方法はありません。それは非常に基本的な操作のように聞こえるので、それは私にとって非常に驚くべきことです。

3
Pythonでのunicode()およびencode()関数の使用
パス変数のエンコードとSQLiteデータベースへの挿入に問題があります。役に立たなかったencode( "utf-8")関数でそれを解決しようとしました。次に、タイプunicodeを与えるunicode()関数を使用しました。 print type(path) # <type 'unicode'> path = path.replace("one", "two") # <type 'str'> path = path.encode("utf-8") # <type 'str'> strange path = unicode(path) # <type 'unicode'> 最終的にUnicodeタイプを取得しましたが、パス変数のタイプがstrの場合と同じエラーが発生します。 sqlite3.ProgrammingError:8ビットバイトストリングを解釈できるtext_factory(text_factory = strなど)を使用しない限り、8ビットバイトストリングを使用しないでください。代わりに、アプリケーションをUnicode文字列に切り替えることを強くお勧めします。 このエラーを解決しencode("utf-8")、unicode()機能の正しい使用法を説明するのを手伝ってもらえますか?私はよくそれと戦っています。 編集: このexecute()ステートメントはエラーを引き起こしました: cur.execute("update docs set path = :fullFilePath where path = :path", locals()) 同じ問題を抱えているfullFilePath変数のエンコーディングを変更するのを忘れましたが、今はかなり混乱しています。unicode()またはencode( "utf-8")、あるいはその両方のみを使用する必要がありますか? 使えない fullFilePath = …

12
Android SQLiteデータベースに新しい列を追加するにはどうすればよいですか?
AndroidSQLiteデータベースに1つの問題があります。 1つのfield.StudentFnameを含む1つのテーブルがあり、そのアプリケーションはAndroid 2.3.1で正常に動作していますが、別のフィールドを追加すると、アプリケーションが正しく動作しません。 データベースをよく知っている人を助けてくれませんか?

1
iOSでのGoogleAnalytics SDK 3.0_sqlite3リンカーエラー
Google Analytics SDK3.0をプロジェクトに統合しています。しかし、プロジェクトをビルドしようとすると、リンカーエラーが発生します。 ドキュメントに記載されているように、プロジェクト内の次のライブラリをリンクしました。 libGoogleAnalyticsServices.a AdSupport.framework CoreData.framework SystemConfiguration.framework libz.dylib それでも、プロジェクトのビルドで次のエラーが発生します。 d: warning: directory not found for option '-L"/Users/....NameProject/Libraries/Google Analytics"' "_sqlite3_bind_blob", referenced from: -[TAGDataLayerPersistentStoreImpl writeEntriesToDatabase:expireTime:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) "_sqlite3_bind_int", referenced from: -[TAGDataLayerPersistentStoreImpl deleteEntries:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) "_sqlite3_bind_int64", referenced from: -[TAGDataLayerPersistentStoreImpl writeEntriesToDatabase:expireTime:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) -[TAGDataLayerPersistentStoreImpl peekEntryIds:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) .... これらのエラーの原因は何ですか?私は何かが足りませんか? あなたの助けに感謝。 解決: プロジェクトをlibsqlite3.0ライブラリにリンクすることで解決しました。Googleアナリティクスのドキュメントでは、このライブラリをリンクすることについて言及していませんでした。お役に立てれば。

9
SQLITEデータベースファイルのバージョンを見つける方法
sqliteデータベースファイルがほとんどありません。データベースファイルのバージョン、つまりデータベースがsqlite2またはsqlite3またはその他のメイン/サブバージョン(sqliteライブラリまたはドライバーまたはuser_versionまたはschema_versionではない)で作成されたかどうかを知りたい。

3
sqliteのALTERCOLUMN
sqliteの列を変更するにはどうすればよいですか?これはPostgresql ALTER TABLE books_book ALTER COLUMN publication_date DROP NOT NULL; sqliteにはALTERCOLUMNはまったくなく、ALTERTABLEのみがサポートされていると思います。 何か案が?ありがとう!
81 sqlite 

4
SQlite:選択しますか?
select intoを使用して、次のような別のテーブルからデータをインポートできるかどうかはわかりません。 select * into bookmark1 from bookmark; SQliteがこの構文をサポートしていないというのは本当ですか?他に選択肢はありますか?
80 sql  sqlite 


3
SQLiteに存在しない場合の方法
この行をMSSQLServerからSQLiteに移植しようとしています IF NOT EXISTS(SELECT 1 FROM EVENTTYPE WHERE EventTypeName = 'ANI Received') INSERT INTO EVENTTYPE (EventTypeName) VALUES ('ANI Received'); SQLiteはIFNOT EXISTSをサポートしていないか、少なくとも私はそれを機能させることができないようです。簡単なものが足りませんか?回避策はありますか?
80 sql  sqlite 

1
Android Q:スコープストレージ内のSQLiteデータベース
Android Qでは、新しいスコープストレージ機能が導入されました。 Android 10(APIレベル29)以上を対象とするアプリには、デフォルトで外部ストレージまたはスコープストレージへのスコープアクセスが付与されます。このようなアプリは、外部ストレージ上のアプリ固有のディレクトリだけでなく、アプリが作成した特定のタイプのメディアにもアクセスできます。 外部ストレージにSQLiteデータベースを作成するアプリがあります。これは、アプリをアンインストールしたときにデータベースがまだ有効であり、後でリカバリとして使用したり、Androidデバイスの外部で使用したりできるようにするためです(PCで言う) Android Qで同じ効果を得るにはどうすればよいですか?より正確には、データベースが外部のパブリックディレクトリに格納されている場合-標準を使用してこのデータベースを読み取るにはどうすればよいSQLiteOpenHelperですか?

2
db initの実行中にレコードをテーブルに追加する
私のアプリケーションでは、フラスコ、sqlalchemy、sqlite、およびpythonを使用しています。データベースを作成するためにdb initを実行するとき、デフォルトの値のセットをデータベースに追加する必要があります。レコードをテーブルに追加するためにこれら2つのことを試しました。1つの方法は「イベント」を使用することです。 from sqlalchemy.event import listen from sqlalchemy import event, DDL @event.listens_for(studentStatus.__table__, 'after_create') def insert_initial_values(*args, **kwargs): db.session.add(studentStatus(status_name='Waiting on admission')) db.session.add(studentStatus(status_name='Waiting on student')) db.session.add(studentStatus(status_name='Interaction Initiated')) db.session.commit() 私が走るとき python manage_db.py db init, python manage_db.py db migrate, python manage_db.py db upgrade 問題はありませんでしたが、レコードが作成されていません。 私が試した別の方法は、私が含めたmodels.pyです record_for_student_status = studentStatus(status_name="Waiting on student") db.session.add(record_for_student_status) db.session.commit() print(record_for_student_status) クラスモデルコード: class …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.