首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQLite NVARCHAR与NVARCHAR2的区别

SQLite NVARCHAR与NVARCHAR2的区别
EN

Stack Overflow用户
提问于 2015-08-18 11:47:18
回答 2查看 1.8K关注 0票数 3

我不知道SQLite NVARCHARNVARCHAR2列之间有什么区别。

我知道NVARCHAR是只使用Unicode的文本列,但是NVARCHAR2呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-18 11:55:34

没有什么不同。

SQLite不使用这样严格的数据类型,它有“存储类”。

如果您检查正式文件,您会发现这个规则,五个规则中的一个用来确定从您指定的数据类型中将哪个存储类分配给列:

  1. 如果列的声明类型包含任何字符串"CHAR“、"CLOB”或" TEXT“,则该列具有文本关联。请注意,类型VARCHAR包含字符串"CHAR“,因此指定了文本关联。

总共有5条规则,但规则2涵盖了NVARCHARNVARCHAR2,它们都会将存储类TEXT分配给列。

票数 4
EN

Stack Overflow用户

发布于 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的支持,它们的代码生成肯定会使用模式。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32071561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档