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个字节吗?
答案 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数据类型需要八个字节。