varchar 长度?Android 中的 SQLite

Cri*_*334 0 sqlite android

如果我在 Android 上的 SQLite 中创建一个表:

create table [Table]
(
    [Column] varchar(32)
)
Run Code Online (Sandbox Code Playgroud)

测试我的代码我可以存储一个长度超过这个长度的字符串,所以使用限制是没有用的?

内部发生什么事情了吗?

gip*_*ani 5

来自sqlite 常见问题解答

SQLite 中 VARCHAR 的最大大小是多少?

SQLite 不强制 VARCHAR 的长度。您可以声明一个 VARCHAR(10),SQLite 将很乐意让您在其中放入 500 个字符。并且它将完整保留所有 500 个字符 - 它永远不会被截断。

来自 sqlite 文档:

[..] SQLite 会忽略类型名称后面括号中的数字参数(例如:“VARCHAR(255)”) - SQLite 不会强加任何长度限制 [..]

SQLite 将“VARCHAR(N)”的列类型理解为与“TEXT”相同,无论 N 的值如何。