我试图提取JDBC数据库驱动程序的数据库元数据。
而现在我面对的是一部分我无法向自己解释的留档:
方法:DatabaseMetaData.getColumns(…) (JavaDoc)声明了两个不同的“可空性”列:
NULLABLE int => is NULL allowed. columnNoNulls - might not allow NULL values columnNullable - definitely allows NULL values columnNullableUnknown - nullability unknown
和
IS_NULLABLE String => ISO rules are used to determine the nullability for a column. YES --- if the column can include NULLs NO --- if the column cannot include NULLs empty string --- if the nullability for the column is unknown
我能想到的两个不同专栏的唯一想法是:
其中一个定义了表列在读取时可以为空,而其他可以插入到该表列中的状态可以为空。但是我无法确定这个想法的正确性。
有谁确切地知道这两列之间的区别是什么?关于JDBC API的这一部分,有更详细的信息吗?
谢谢你的帮助。
据我所知,含义是相同的,但是IS_NULLABLE
遵循SQL: 2011 Schemata中的information_schema.columns
视图定义(ISO-9075-11:2011),尽管SQL: 2011没有指定空字符串的含义(它只指定NO
if not nullable和YES
对于所有其他情况)。列NULLABLE
使用常量列NoNulls
、列Nullable
和列NullableUnknown
的值,它们可能用于更具可读性的代码,并用于开关
(Java7之前不支持字符串)。它也等价于ResultSetMetaData.isNullable(int)
的返回值。
通常,元数据结果集的定义基于ISO-9075-11:2011(SQL:2011模式)或SQL标准的其他版本中定义的表和视图。此规范可用于获取有关列的更多信息,但JDBC特定的添加除外。除了html" target="_blank">javadoc中的内容外(以及通过读取apidoc和规范其他部分中的行之间的内容),通常不会明确指定这些添加内容,尽管这些添加通常遵循SQL标准的规则和逻辑。
问题内容: 很快就有两个相等运算符:double equals( )和Triple equals( ),两者之间有什么区别? 问题答案: 简而言之: 操作员检查其实例值是否相等, 操作员检查引用是否指向同一实例, 长答案: 类是引用类型,可能有多个常量和变量在幕后引用类的同一单个实例。类引用保留在运行时堆栈(RTS)中,其实例保留在内存的堆区域中。当您控制平等时, 这意味着它们的实例是否彼此相等。
我编写了一个简单的脚本,它接受任意数量的参数来演示< code>$@和< code>$*之间的区别: 在我做的 CLI 上 这就是打印出来的 因为它们是相同的,这是否意味着等于?还是我遗漏了一点?
问题内容: package main 该代码可以很好地工作。但是,如果按如下所示更改方法,则会导致死循环。区别在于将替换为。为什么? 问题答案: 因为程序包检查要打印的值是否具有方法(或换句话说:是否实现接口),如果是,则将调用它以获取值的表示形式。 软件包doc中对此进行了说明: […]如果操作数实现String()字符串方法,则将调用该方法将对象转换为字符串,然后根据动词的要求对其进行格式化(
我正在通过做微控制器项目来自学C++。我当前的项目是使用一对或Adafruit羽毛分组无线电。无线电数据包的库函数需要一个C样式的字符串(我相信),我理解它是一个char的数组。 我已经设置了一个枚举来反映接收方的各种操作,并希望将该状态发送回发送方。所以我想把枚举变成char的数组。 在搜索将枚举转换为char数组的方法时,最简单的方法(对我来说)是将枚举变量传递给带有switch语句的函数,该
我是Hadoop的新手。我正在浏览专业Hadoop解决方案的书,以获得一些关于Hadoop和生态系统的知识。我想澄清HDFS和HBase之间的主要区别是什么。我理解的方式就像两者都是存储系统。它们的区别只是在访问数据方面。HBase通过非关系型数据库访问数据,HDFS使用计算框架(MapReduce)处理数据。如果是这种情况,为什么我们不能只有一个存储HDFS或HBase。根据需求,他们将插入和插
有人能解释一下 和 我不知道确切的意思。