SQLiteのエラーコード
コードやエラーメッセージで検索し、公式の説明やトラブルシューティング・診断へのリンクを確認できます。
検索はブラウザー内で処理します。同じ番号でも製品によって意味が異なります。
SQLite コード
101件- abort
SQLITE_ABORT 結果コードは、通常はアプリケーション要求によって操作が完了前に中止されたことを示します。 SQLITE_INTERRUPT も参照してください。 sqlite3_exec() へのコールバック関数がゼロ以外を返した場合、sqlite3_exec() は SQLITE_ABORT を返します。 ROLLBACK 操作が保留中の読み取りまたは書き込みと同じデータベース接続で発生した場合、保留中の読み取りまたは書き込みは SQLITE_ABORT または SQLITE_ABORT_ROLLBACK エラーで失敗する可能性があります。 SQLITE_ABORT 値は、結果コードであるだけでなく、sqlite3_vtab_on_conflict() インターフェイスから返される競合解決モードとしても使用されます。
SQLiteSQLite - abort rollback
SQLITE_ABORT_ROLLBACK エラー コードは、SQLITE_ABORT の拡張エラー コードで、SQL ステートメントが最初に開始されたときにアクティブだったトランザクションがロールバックされたために SQL ステートメントが中止されたことを示します。ロールバックが発生すると、保留中の書き込み操作は常にこのエラーで失敗します。 ROLLBACK では、ロールバック中のトランザクション内でスキーマが変更された場合にのみ、保留中の読み取り操作が失敗します。
SQLiteSQLite - auth
SQLITE_AUTH エラーは、準備中の SQL ステートメントが承認されていないことを承認者コールバックが示した場合に返されます。
SQLiteSQLite - auth user
SQLITE_AUTH_USER エラー コードは、ログイン ユーザーに十分な権限がないデータベースに対して操作が試行されたことを示す SQLITE_AUTH の拡張エラー コードです。
SQLiteSQLite - busy
SQLITE_BUSY 結果コードは、他のデータベース接続 (通常は別のプロセスのデータベース接続) による同時アクティビティが原因で、データベース ファイルに書き込むことができなかった (場合によっては読み取れなかった) ことを示します。 たとえば、プロセス A が大規模な書き込みトランザクションの途中であり、同時にプロセス B が新しい書き込みトランザクションを開始しようとすると、SQLite は一度に 1 つのライターしかサポートしないため、プロセス B は SQLITE_BUSY 結果を返します。プロセス B は、新しいトランザクションを開始する前に、プロセス A がトランザクションを完了するまで待つ必要があります。 sqlite3_busy_timeout() および sqlite3_busy_handler() インターフェイスと、busy_timeout プラグマをプロセス B に使用すると、SQLITE_BUSY エラーの処理に役立ちます。 SQLITE_BUSY エラーは、トランザクションのどの時点でも発生する可能性があります。トランザクションの最初の開始時、書き込みまたは更新操作中、またはトランザクションのコミット時です。トランザクションの途中で SQLITE_BUSY エラーが発生するのを避けるために、アプリケーションは BEGIN だけではなく BEGIN IMMEDIATE を使用してトランザクションを開始できます。 BEGIN IMMEDIATE コマンド自体が SQLITE_BUSY を返す可能性がありますが、それが成功すると、SQLite は、次の COMMIT までの同じデータベースに対する後続の操作で SQLITE_BUSY が返されないことを保証します。 SQLITE_BUSY_RECOVERY および SQLITE_BUSY_SNAPSHOT も参照してください。 SQLITE_BUSY 結果コードは、SQLITE_BUSY が別のデータベース接続 (おそらく別のプロセス内) との競合を示すのに対し、SQLITE_LOCKED は同じデータベース接続 (場合によっては共有キャッシュを備えたデータベース接続) 内の競合を示すという点で SQLITE_LOCKED とは異なります。
SQLiteSQLite - busy recovery
SQLITE_BUSY_RECOVERY エラー コードは、SQLITE_BUSY の拡張エラー コードであり、クラッシュ後の WAL モード データベース ファイルの回復で別のプロセスがビジー状態であるため、操作を続行できなかったことを示します。 SQLITE_BUSY_RECOVERY エラー コードは、WAL モードのデータベースでのみ発生します。
SQLiteSQLite - busy snapshot
SQLITE_BUSY_SNAPSHOT エラー コードは、SQLITE_BUSY の拡張エラー コードであり、データベース接続が読み取りトランザクションを書き込みトランザクションに昇格させようとしたときに、別のデータベース接続がすでにデータベースに書き込んでいるため、以前の読み取りが無効になっていることが判明した場合に、WAL モード データベースで発生します。 次のシナリオは、SQLITE_BUSY_SNAPSHOT エラーがどのように発生するかを示しています。
SQLiteSQLite - busy timeout
SQLITE_BUSY_TIMEOUT エラー コードは、VFS 層でのブロック Posix アドバイザリ ファイル ロック リクエストがタイムアウトにより失敗したことを示します。ブロッキング Posix アドバイザリー ロックは、独自の SQLite 拡張機能としてのみ利用可能であり、その場合でも、SQLite が SQLITE_ENABLE_SETLK_TIMEOUT コンパイル時オプションを使用してコンパイルされている場合にのみサポートされます。
SQLiteSQLite - cantopen
SQLITE_CANTOPEN 結果コードは、SQLite がファイルを開けなかったことを示します。問題のファイルは、プライマリ データベース ファイルまたはいくつかの一時ディスク ファイルの 1 つである可能性があります。
SQLiteSQLite - cantopen convpath
SQLITE_CANTOPEN_CONVPATH エラー コードは、Cygwin VFS によってのみ使用される SQLITE_CANTOPEN の拡張エラー コードであり、ファイルを開こうとしたときに cygwin_conv_path() システム コールが失敗したことを示します。 SQLITE_IOERR_CONVPATH も参照してください。
SQLiteSQLite - cantopen dirtywal
SQLITE_CANTOPEN_DIRTYWAL 結果コードは現時点では使用されません。
SQLiteSQLite - cantopen fullpath
SQLITE_CANTOPEN_FULLPATH エラー コードは、SQLITE_CANTOPEN の拡張エラー コードで、オペレーティング システムがファイル名をフル パス名に変換できなかったため、ファイルを開く操作が失敗したことを示します。
SQLiteSQLite - cantopen isdir
SQLITE_CANTOPEN_ISDIR エラー コードは、ファイルが実際にはディレクトリであるためにファイルを開く操作が失敗したことを示す SQLITE_CANTOPEN の拡張エラー コードです。
SQLiteSQLite - cantopen notempdir
SQLITE_CANTOPEN_NOTEMPDIR エラー コードは使用されなくなりました。
SQLiteSQLite - cantopen symlink
SQLITE_CANTOPEN_SYMLINK 結果コードは、SQLITE_OPEN_NOFOLLOW フラグが使用され、データベース ファイルがシンボリック リンクである場合に、sqlite3_open() インターフェイスとその兄弟によって返されます。
SQLiteSQLite - constraint
SQLITE_CONSTRAINT エラー コードは、SQL ステートメントの処理中に SQL 制約違反が発生したことを意味します。失敗した制約に関する追加情報は、付随するエラー メッセージ (sqlite3_errmsg() または sqlite3_errmsg16() を介して返される) を参照するか、拡張エラー コードを確認することで見つかります。 SQLITE_CONSTRAINT コードは、仮想テーブル実装の xBestIndex() メソッドからの戻り値としても使用できます。 xBestIndex() が SQLITE_CONSTRAINT を返す場合、これは、xBestIndex() に送信された入力の特定の組み合わせでは使用可能なクエリ プランを生成できないため、それ以上考慮する必要がないことを示します。
SQLiteSQLite - constraint check
SQLITE_CONSTRAINT_CHECK エラー コードは、CHECK 制約が失敗したことを示す SQLITE_CONSTRAINT の拡張エラー コードです。
SQLiteSQLite - constraint commithook
SQLITE_CONSTRAINT_COMMITHOOK エラー コードは、SQLITE_CONSTRAINT の拡張エラー コードで、コミット フック コールバックがゼロ以外を返したために SQL ステートメントがロールバックされたことを示します。
SQLiteSQLite - constraint datatype
SQLITE_CONSTRAINT_DATATYPE エラー コードは、SQLITE_CONSTRAINT の拡張エラー コードで、STRICT として定義されたテーブル内の列の宣言された型と矛盾する値を挿入または更新で格納しようとしたことを示します。
SQLiteSQLite - constraint foreignkey
SQLITE_CONSTRAINT_FOREIGNKEY エラー コードは、外部キー制約が失敗したことを示す SQLITE_CONSTRAINT の拡張エラー コードです。
SQLiteSQLite - constraint function
SQLITE_CONSTRAINT_FUNCTION エラー コードは、現在 SQLite コアでは使用されていません。ただし、このエラー コードは拡張機能で使用できます。
SQLiteSQLite - constraint notnull
SQLITE_CONSTRAINT_NOTNULL エラー コードは、NOT NULL 制約が失敗したことを示す SQLITE_CONSTRAINT の拡張エラー コードです。
SQLiteSQLite - constraint pinned
SQLITE_CONSTRAINT_PINNED エラー コードは、SQLITE_CONSTRAINT の拡張エラー コードで、UPDATE トリガーが更新の途中で更新されていた行を削除しようとしたことを示します。
SQLiteSQLite - constraint primarykey
SQLITE_CONSTRAINT_PRIMARYKEY エラー コードは、PRIMARY KEY 制約が失敗したことを示す SQLITE_CONSTRAINT の拡張エラー コードです。
SQLiteSQLite - constraint rowid
SQLITE_CONSTRAINT_ROWID エラー コードは、ROWID が一意ではないことを示す SQLITE_CONSTRAINT の拡張エラー コードです。
SQLiteSQLite - constraint trigger
SQLITE_CONSTRAINT_TRIGGER エラー コードは、SQLITE_CONSTRAINT の拡張エラー コードで、トリガー内の RAISE 関数が起動され、SQL ステートメントが中止されたことを示します。
SQLiteSQLite - constraint unique
SQLITE_CONSTRAINT_UNIQUE エラー コードは、UNIQUE 制約が失敗したことを示す SQLITE_CONSTRAINT の拡張エラー コードです。
SQLiteSQLite - constraint vtab
SQLITE_CONSTRAINT_VTAB エラー コードは、現在 SQLite コアでは使用されていません。ただし、このエラー コードは、アプリケーション定義の仮想テーブルで使用できます。
SQLiteSQLite - corrupt
SQLITE_CORRUPT 結果コードは、データベース ファイルが破損していることを示します。破損がどのように発生するかについて詳しくは、「データベース ファイルを破損する方法」を参照してください。
SQLiteSQLite - corrupt index
SQLITE_CORRUPT_INDEX 結果コードは、SQLite がインデックスにエントリがあるか、エントリが欠落していることを検出したことを意味します。これは SQLITE_CORRUPT エラー コードの特殊なケースであり、データベース ファイルの他の場所に他の問題が存在しないと仮定して、REINDEX コマンドを実行することで問題が解決される可能性があることを示唆しています。
SQLiteSQLite - corrupt sequence
SQLITE_CORRUPT_SEQUENCE 結果コードは、sqlite_sequence テーブルのスキーマが破損していることを意味します。 sqlite_sequence テーブルは、AUTOINCREMENT 機能の実装を支援するために使用されます。 sqlite_sequence テーブルは次の形式である必要があります。 SQLite は、sqlite_sequence テーブルが他の形式であることを検出すると、SQLITE_CORRUPT_SEQUENCE エラーを返します。
SQLiteSQLite - corrupt vtab
SQLITE_CORRUPT_VTAB エラー コードは、仮想テーブルで使用される SQLITE_CORRUPT の拡張エラー コードです。仮想テーブルは、仮想テーブルのコンテンツが破損していることを示す SQLITE_CORRUPT_VTAB を返す場合があります。
SQLiteSQLite - empty
SQLITE_EMPTY 結果コードは現在使用されていません。
SQLiteSQLite - error
SQLITE_ERROR 結果コードは、他に具体的なエラー コードがない場合に使用される一般的なエラー コードです。
SQLiteSQLite - error missing collseq
SQLITE_ERROR_MISSING_COLLSEQ 結果コードは、SQL ステートメントで指定された照合順序が見つからなかったため、SQL ステートメントを準備できなかったことを意味します。 場合によっては、このエラー コードが発生すると、sqlite3_prepare_v2() ルーチンはエラーを SQLITE_ERROR_RETRY に変換し、不明な照合シーケンスの使用を必要としない別のクエリ プランを使用して SQL ステートメントの準備を再試行します。
SQLiteSQLite - error retry
SQLITE_ERROR_RETRY は、sqlite3_prepare_v2() (または準備されたステートメントを作成するための兄弟ルーチンの 1 つ) を呼び出すために内部的に使用され、前回の試行でエラーが発生して失敗したステートメントの準備を再試行します。
SQLiteSQLite - error snapshot
sqlite3_snapshot_open() インターフェイスを使用してデータベースの履歴バージョンで読み取りトランザクションを開始しようとすると、SQLITE_ERROR_SNAPSHOT 結果コードが返されることがあります。履歴スナップショットが使用できなくなった場合、読み取りトランザクションは SQLITE_ERROR_SNAPSHOT で失敗します。このエラー コードは、SQLite が -DSQLITE_ENABLE_SNAPSHOT でコンパイルされている場合にのみ発生する可能性があります。
SQLiteSQLite - format
SQLITE_FORMAT エラー コードは、現在 SQLite では使用されていません。
SQLiteSQLite - full
SQLITE_FULL 結果コードは、ディスクがいっぱいであるために書き込みを完了できなかったことを示します。このエラーは、メイン データベース ファイルに情報を書き込もうとするときに発生する可能性があり、一時ディスク ファイルに情報を書き込むときにも発生する可能性があることに注意してください。 プライマリ ディスクの空き領域が十分にある場合でも、アプリケーションでこのエラーが発生することがあります。これは、一時ファイルがプライマリ ディスクよりもはるかに少ない領域の別のパーティションに保存されているシステム上の一時ディスク ファイルに書き込むときにエラーが発生するためです。
SQLiteSQLite - internal
SQLITE_INTERNAL 結果コードは、内部の誤動作を示します。 SQLite の動作バージョンでは、アプリケーションがこの結果コードを目にすることはありません。アプリケーションでこの結果コードが発生した場合は、データベース エンジンにバグがあることを示しています。 この結果コードは SQLite のバグが原因である可能性があります。ただし、アプリケーション定義の SQL 関数、仮想テーブル、VFS、またはその他の拡張機能によってもこの結果コードが返される可能性があるため、問題はコア SQLite のせいではない可能性があります。
SQLiteSQLite