This question already has answers here:
Types in MySQL: BigInt(20) vs Int(20)
                                
                                    (6个答案)
                                
                        
                                2年前关闭。
            
                    
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个字节吗?

最佳答案

问:BIGINT的列大小是多少?

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

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

问:是19个字节吗?

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

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

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

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

关于mysql - mysql jdbc:BIGINT的列大小是多少? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46528457/

10-13 01:22