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

时间:2017-10-02 15:15:38

标签: mysql jdbc

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个字节吗?

1 个答案:

答案 0 :(得分:1)

问:BIGINT的列大小是多少?

MySQL BIGINT数据类型是64字节有符号整数。从JDBC结果集中,可以在Java中将其作为long处理。

使用无符号变体MySQL BIGINT UNSIGNED dataype,可以将其作为java.math.BigInteger处理。 (MySQL BIGINT UNSIGNED的最大值超过了Java long的最大值。)

问:它是19个字节吗?

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

BIGINT的最大值将包含 19 字符的字符串表示。

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

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