3 つのテーブルを含む SQLite データベースがあります。
すでに存在する主キーを使用して、そのうちの 1 つに行を挿入しようとしています。主キーは整数型です。
このステートメントは、制約違反のため失敗するはずです。私のC#プログラムでは失敗していませんが、何も挿入していません。したがって、基本的には、でステートメントを開始した場合と同じように機能しinsert or ignore
ます。明示的に使用insert or fail
しても機能しません。これは、SQLite マネージャー Firefox プラグインからデータベースを開くときにも発生します。ただし、Sqliteman でデータベースを開くと、想定どおりにクエリが失敗します。
プラグマまたは見逃した可能性のあるものはありますか?
編集:テーブル定義は次のとおりです。
CREATE TABLE block(offset integer primary key,length integer,originaloffset integer,originalLength integer,page integer)
CREATE UNIQUE INDEX block_original_offset_index on block(originaloffset,offset,length)