我有一个表格,其字段定义为nvarchar(100)。
我刚注意到如果插入了一条新记录(例如一个200字符串值),查询就可以正常工作,而不会抛出任何异常。
是SQLite'功能'?
将SQLite 1.0.94与Visual Studio 2010 / C#和SQLite v3 dabatabse一起使用。
答案 0 :(得分:2)
SQLite没有识别您在声明中指定的限制,因此未强制执行。
为了强制执行,您可能需要这样的声明:
CREATE TABLE t (f TEXT CHECK(LENGTH(f)<101));
因此无法插入超过100个字符的文字。
答案 1 :(得分:1)
SQLite有一个无限的TEXT数据类型。请参阅文档:
http://www.sqlite.org/datatype3.html#affname
请注意类型后面的括号中的数字参数 SQLite忽略了名称(例如:&#34; VARCHAR(255)&#34;) - SQLite没有 对字符串,BLOB或数字的长度施加任何长度限制 值。