gpt4 book ai didi

java - 尝试使用 jdbc 元数据获取列的列大小

转载 作者:行者123 更新时间:2023-11-29 03:00:22 25 4
gpt4 key购买 nike

我正在尝试仅使用来自 jdbc 的元数据为表重新创建模式。

除了列大小外,我都可以正常工作,例如。位置 VARCHAR(10)

目前它正在为每一列打印 VARCHAR(2000000000)

代码:

ResultSet rs = databaseMetaData.getColumns(null, null, tableName, null);
while(rs.next()) {
int columnSize = rs.getInt("COLUMN_SIZE");
}

预期的输出是在模式中创建表时使用的数字,但它总是返回 2000000000。我是否遗漏了一些简单的东西?

最佳答案

您问题的标签表明您正在使用 SQLite。

documentation ,第 2.2 章关联名称示例,指出:

Note that numeric arguments in parentheses that following the type name (ex: "VARCHAR(255)") are ignored by SQLite - SQLite does not impose any length restrictions (other than the large global SQLITE_MAX_LENGTH limit) on the length of strings, BLOBs or numeric values.

由于 SQLite 不使用长度信息,对于 COLUMN_SIZE 它只是返回基于字符的列的最大大小。

关于java - 尝试使用 jdbc 元数据获取列的列大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35413956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com