java - mysql.jdbc 异常超出数据类型 INTEGER 的有效范围

标签 java mysql exception jdbc int

当我尝试从 Java 文件访问数据库 (BIGINT) 的内容时遇到错误。我无法找出此异常的修复方法。

我收到以下错误:

com.mysql.jdbc.exceptions.jdbc4.MySQLDataException:
    '5.62949953421312E15' in column '1' is outside valid range for the datatype INTEGER.

Java代码:

long  pID=0;

SQLStatement = connection.createStatement();
String Query101 = "select projectID from Project";
ResultSet rs101 = SQLStatement.executeQuery(Query101);
while (rs101.next()) {
    pID = rs101.getLong("ProjectId");
}

SQL代码:

CREATE TABLE Project (projectID bigint(20) Primary key) 

我使用的数据库表中 projectID 的值为 5629499534213120

最佳答案

你的pID是long类型,4个字节,最大值是2^31-1 = 2,147,483,647。 所以你不能在 pID = rs101.getLong("ProjectId"); 分配 5.62949953421312E15 到它;

关于java - mysql.jdbc 异常超出数据类型 INTEGER 的有效范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21770137/

相关文章:

unit-testing - 想要但不调用 : Mockito test

java - 如何从数据文件或文本文件中删除一行?

javascript - 如何允许仅删除登录用户

mysql - 连接错误 : Excel VBA to Remote MySQL

php - 从 MySQL 列创建 PHP 数组

c# - 我捕获的 AggregateException 没有我期望的异常

java - 在php、bean中,是否允许使用数组来收集变量?

java - 设置 session 响应

java - 方法改变对象

Java (Android) - putInt 上的 BufferOverflowException