找不到 java.sql.sqlexception 列

标签 java mysql sql jdbc

我正在尝试从事务表中的 tr_id(主键)中查找最大编号。
这是表格及其布局。
enter image description here


enter image description here


这是我的绳索。

             try {
                ResultSet rs = db.getData("SELECT MAX(tr_id) FROM transaction");
                ResultSetMetaData meta = rs.getMetaData();
                for (int index = 1; index <= meta.getColumnCount(); index++) {
                    System.out.println("Column " + index + " is named " +    meta.getColumnName(index));
                }
                if (rs.first()) {
                    int tr_id = rs.getInt("tr_id");
               }


我正在使用 JDBC 连接。当我运行此电源线时,出现此错误。

        Column 1 is named MAX(tr_id)
        java.sql.SQLException: Column 'tr_id' not found.
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
    at com.mysql.jdbc.ResultSet.findColumn(ResultSet.java:955)
    at com.mysql.jdbc.ResultSet.getInt(ResultSet.java:2570)
    at Controler.InvoiceFinalising.saveInvoice(InvoiceFinalising.java:57)
  etc..


问题是当我搜索“tr_id”列名称时转到 Max(tr_id)

最佳答案

这是因为您的 sql 查询中的列名是 max(tr_id)。你可以把它写成

ResultSet rs = db.getData("SELECT MAX(tr_id) as tr_id FROM transaction");

现在你将能够得到它。

关于找不到 java.sql.sqlexception 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21596834/

相关文章:

Java无法反序列化JSON

java - EhCache - 不使用 spring 数据进行缓存

输出Java数组最简单的方式

php - 变量名放入 CREATE TABLE IF NOT EXISTS 在 php 中

mysql - Concat 连接的结果

sql - 如何获取记录中的所有行?

java - 我无法覆盖 Tomcat 的默认欢迎文件列表

php字母数字auto_increment插入到sql数据库

php - 我可以在 PHP 中混合使用 MySQL API 吗?

mysql - 排除特定条件的全文搜索