1

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)
4

0 に答える 0