我在尝试从Java文件访问数据库内容(BIGINT
)时遇到错误。我无法弄清楚这个异常的修复方法。mysql.jdbc数据类型的有效范围之外的异常INTEGER
我收到以下错误:
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
。
我可以知道为什么给我-1吗?请给出一些解释 – Judy
Java中'long'和MySQL中'BIGINT'的签名范围都是-2^63到2^63 - 1.你的问题在MySQL的一方,因此是MySQLDataException。 –
在这个问题上有何进展? –