我想要一个字段“名称”最多 20 个字符......在 sqllite 中是否可能?
问问题
16304 次
2 回答
42
是的,带有检查约束。这是一个强制使用长度小于或等于 20 个字符的 TEXT 数据类型的示例。
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 可能为时已晚,但也许其他人会发现这很有用。
于 2015-10-07T21:15:40.807 回答
12
编号 每个SQLite 版本 3 中的数据类型,
请注意,类型名称后面的括号中的数字参数(例如:“VARCHAR(255)”)会被 SQLite 忽略 - SQLite 不会对字符串、BLOB 或数值。
于 2012-08-21T14:07:29.587 回答