【问题标题】:mysql jdbc: what is column size for BIGINT? [duplicate]mysql jdbc:BIGINT 的列大小是多少? [复制]
【发布时间】:2018-03-13 16:45:39
【问题描述】:

mysql jdbc:BIGINT 的列大小是多少?

jdbc:

id BIGINT(20)

ResultSet columns = databaseMetaData.getColumns("foo", "bar", "table", "id");
columns.next();
int columnSize = columns.getInt(7);

columnSize 是 19。是 19 字节吗?

【问题讨论】:

  • 需要拉取第7列的数据吗?

标签: mysql jdbc


【解决方案1】:

问:BIGINT 的列大小是多少?

MySQL BIGINT 数据类型是一个 64 字节的有符号整数。来自 JDBC 结果集,可以在 Java 中作为 long 处理。

使用无符号变体 MySQL BIGINT UNSIGNED 数据类型,可以将其处理为 java.math.BigInteger。 (MySQLBIGINT UNSIGNED的最大值超过了Javalong的最大值。)

问:是 19 字节吗?

MySQL 将为 BIGINT 返回的最长字符串值将是 20 个字符。 MySQL BIGINT 的最低可能值(表示为字符串)是'-9223372036854775808'。 (即 19 位数字,但减号需要一个额外的字符。)

BIGINT 的最大值将具有 19 个字符的字符串表示形式。

对于无符号变量BIGINT UNSIGNED,最大值将表示为 20 个十进制数字,即 20 个字符。

就 MySQL 数据库中的存储而言,BIGINT 数据类型需要 8 个字节。

【讨论】:

    猜你喜欢
    • 2015-07-02
    • 2012-11-10
    • 2021-04-26
    • 2013-04-26
    • 1970-01-01
    • 1970-01-01
    • 2012-09-04
    • 2010-11-12
    • 1970-01-01
    相关资源
    最近更新 更多