我想要一个字段“name”最多20个字符...是否可以sqllite?
答案 0 :(得分:33)
是CHECK CONSTRAINTS。以下是强制TEXT数据类型的示例,其长度小于或等于20个字符。
CREATE TABLE IF NOT EXISTS "test"
(
"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
"name" TEXT NOT NULL
CHECK(
typeof("name") = "text" AND
length("name") <= 20
)
);
INSERT INTO "test" ("name") VALUES ("longer than twenty characters");
结果:
Error: CHECK constraint failed: test
可能为时已晚,无法帮助OP,但也许其他人会觉得这很有用。
答案 1 :(得分:10)
没有。每Datatypes In SQLite Version 3,
请注意类型后面的括号中的数字参数 SQLite忽略了name(例如:“VARCHAR(255)”) - SQLite没有 施加任何长度限制(除了大的全球 SQLITE_MAX_LENGTH limit)对字符串,BLOB或数字的长度 值。