SQLite DBブラウザv3.7.0を使用しています。私は、次の構文を使用してテーブルを作成した場合:SQLiteチェック制約とSQLite DBブラウザ
CREATE TABLE "A" (
"AREA" TEXT NOT NULL DEFAULT 'DEFAULT'
CONSTRAINT "A-AREA-MAX_LENGTH_CHECK"
CHECK(LENGTH("AREA") <= 25),
CONSTRAINT "A-AREA-UPPERCASE_NO_WHITESPACE_CHECK"
CHECK(UPPER("AREA") = "AREA" AND INSTR("AREA", ' ') = 0)
);
を私はSQLiteのブラウザの「参照データ」タブに移動すると、私は(ブラウザがSQLを解析することができないかのように)現れて何の列を取得していません。これは問題です。なぜなら、「新しいレコード」をクリックすると、「レコードを追加するエラー: の近く」という例外が発生します。「構文エラー(INSERT INTO '' VALUES();)」です。
私はのいずれか一つであることが制約を変更する場合は、:
CHECK(UPPER("AREA") = "AREA")
CHECK(INSTR("AREA", ' ') = 0)
そして、SQLiteのDBブラウザはすべてを正しく解析するために表示されます。私の質問は、無効なSQLiteの上の構文ですか、またはこれはSQLite DB Browserチームに報告する必要がある問題ですか?ありがとう。
EDIT
私も同様の結果が得られ、SQLiteのDBブラウザv3.8.0でテスト: