Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JDBC getColumns之间的差异;是“可为空的”;及;“可为空”;_Java_Jdbc - Fatal编程技术网

Java JDBC getColumns之间的差异;是“可为空的”;及;“可为空”;

Java JDBC getColumns之间的差异;是“可为空的”;及;“可为空”;,java,jdbc,Java,Jdbc,我试图提取JDBC数据库驱动程序的数据库元数据 现在我面对的是我无法向自己解释的部分文件: 方法DatabaseMetaData.getColumns(…)()说明了两个不同的“nullability”列: 允许为NULL的int=>为NULL。 columnNoNulls-可能不允许空值 columnNullable-绝对允许空值 columnNullableUnknown-NullableUnknown 及 IS_NULLABLE String=>ISO规则用于确定列的可空性。 是---如果

我试图提取JDBC数据库驱动程序的数据库元数据

现在我面对的是我无法向自己解释的部分文件:

方法
DatabaseMetaData.getColumns(…)()说明了两个不同的“nullability”列:

允许为NULL的int=>为NULL。 columnNoNulls-可能不允许空值 columnNullable-绝对允许空值 columnNullableUnknown-NullableUnknown 及

IS_NULLABLE String=>ISO规则用于确定列的可空性。 是---如果列可以包含空值 否---如果列不能包含空值 空字符串---如果列的可空性未知 我能想到的两个不同专栏的唯一想法是:

其中一个定义的表列在读取时可以为null,而另一个定义的表列可以插入null。但我无法确定这个想法的正确性

有人确切知道这两列之间的区别吗? 关于JDBCAPI的这一部分有更详细的信息吗


谢谢您的帮助。

据我所知,其含义是相同的,但是
可以为空
遵循
信息模式。列
查看来自SQL:2011模式(ISO-9075-11:2011)的定义,尽管SQL:2011没有指定空字符串的含义(对于所有其他情况,它仅指定
NO
,如果不可为null,则指定
YES
nullable
列使用常量
columnnoulls
columnNullable
columnNullableUnknown
的值,这些值可能用于可读性更强的代码,也可用于
开关
(之前的Java 7不支持字符串),它也相当于的返回值

通常,元数据结果集的定义基于ISO-9075-11:2011(SQL:2011模式)中定义的
信息\u模式
表和视图或SQL标准的其他版本。此规范可用于获取有关列的更多信息,但JDBC特定的添加除外。除了javadoc中的内容(以及通过读取apidoc和规范的其他部分中的行之间的内容)外,这些添加通常是明确指定的,尽管这些添加通常遵循SQL标准的规则和逻辑

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