使用大量的经过SQL Server和SQL Server Compact我最近开始使用Sqlite.我目前正在Sqlite中创建表,并注意到在定义字符串列时似乎没有任何需要输入字符串长度限制.在SQL Server255个字符的字符串中,数据类型定义如下:varchar(255).在SQL Server Compact它中定义如下:nvarchar(255).
但是,Sqlite看起来,列数据类型可以简单地定义为text,而不输入任何大小限制.有没有办法在sqlite中定义大小限制?或者这甚至不是必要的?
dan*_*n04 22
SQLite确实允许你编写VARCHAR(255)或者NVARCHAR(255),但是唯一相关的部分是CHAR(它给出了"文本亲和性"列).允许括号中的数字与标准SQL兼容,但会被忽略.
在SQLite中,几乎不需要对字符串进行长度约束,因为(1)它不会影响字符串在磁盘上占用的空间量,以及(2)对于SQLITE_MAX_LENGTH字符串的长度没有任何限制(除了)用在一个INDEX.
如果您确实需要对列中的字符数进行限制,只需添加一个约束即可CHECK(LENGTH(TheColumn) <= 255).
| 归档时间: |
|
| 查看次数: |
24353 次 |
| 最近记录: |