我不知道SQLite NVARCHAR和NVARCHAR2列之间有什么区别。
我知道NVARCHAR是只使用Unicode的文本列,但是NVARCHAR2呢?
发布于 2015-08-18 11:55:34
没有什么不同。
SQLite不使用这样严格的数据类型,它有“存储类”。
如果您检查正式文件,您会发现这个规则,五个规则中的一个用来确定从您指定的数据类型中将哪个存储类分配给列:
总共有5条规则,但规则2涵盖了NVARCHAR和NVARCHAR2,它们都会将存储类TEXT分配给列。
发布于 2015-12-10 23:40:56
有一个不同的。在某种程度上..。
事情是这样的:正如LasseV.Karlsen所说,SQLite不对您提到的类型起作用,也不像NVARCHAR(24)那样通过传递参数来限制长度(但您可以检查约束以限制长度)。
那么,为什么在SQLite专家(和其他工具)中可以使用这些工具呢?此信息将保存在数据库模式中(请检查https://www.sqlite.org/datatype3.html#affinity和信息),因此在创建SQLite db时是否需要设置这些信息,因为SQLite将不使用它?
是的,如果您将使用任何工具从模式生成代码!也许有人会要求您将数据库传输到MSSQL,然后有一些伟大的工具将使用模式,并将您的SQLite映射到MSSQL在眨眼之间。或者您将使用一些.NET工具将表映射到POCO类,这些工具还可以使用模式映射到正确的类型,它们还将使用这些限制并将这些限制传递到列映射到的属性上的数据注释中。EntityFramework 7将内置对SQLite的支持,它们的代码生成肯定会使用模式。
https://stackoverflow.com/questions/32071561
复制相似问题