我正在使用SQLite数据库浏览器v3.7.0。如果我创建使用的语法如下表:SQLite检查约束和SQLite数据库浏览器
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作为)。这是一个问题,因为当我点击“New Record”时,出现异常“Error added record:near ”):syntax error(INSERT INTO''VALUES();)“。
但是,如果我改变约束是的任何一个:
CHECK(UPPER("AREA") = "AREA")
CHECK(INSTR("AREA", ' ') = 0)
随后的SQLite数据库浏览器似乎正确地分析一切。我的问题是,上面的语法是无效的SQLite,还是这是一个需要报告给SQLite数据库浏览器团队的问题?谢谢。
编辑
我也是在SQLite的DB浏览器v3.8.0测试,具有相似的结果: