Java 根据上次自动递增主键检索记录,并在输入字段中查看

Java 根据上次自动递增主键检索记录,并在输入字段中查看,java,mysql,jsp,jdbc,last-insert-id,Java,Mysql,Jsp,Jdbc,Last Insert Id,我想根据最后一个插入ID的主键从数据库中的表中检索一条记录,这就是我的程序的样子,但当我运行它时,它将返回空白页。问错了吗 <div style="background:steelblue;"> <form action=saveRecord.jsp> <<----will save the record to other table <% Class.forName("com.mysql.jdbc.Driver"

我想根据最后一个插入ID的主键从数据库中的表中检索一条记录,这就是我的程序的样子,但当我运行它时,它将返回空白页。问错了吗

<div style="background:steelblue;">
    <form action=saveRecord.jsp> <<----will save the record to other table
        <%
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        Connection conn =     DriverManager.getConnection("jdbc:mysql://localhost:3306/dssps", "root", "admin");
        String query = "select Did,ShipName,Origin,Port1 from decsfinal where   Did=LAST_INSERT_ID()";
        Statement st = conn.createStatement();
        ResultSet rs = st.executeQuery(query);
        if(rs.next()){
        %>

        <label>ID</label>
        <input  name="Did" value="<%=rs.getInt("Did")%>">
        </br>

        <label>Ship Name</label>
        <input  name="ShipName" value="<%=rs.getString("ShipName")%>">
        </br>

        <label>Origin Port</label>
        <input  name="Origin" value="<%=rs.getString("Origin")%>">
        </br>

        <label>Destination Port</label>
        <input  name="Port1" value="<%=rs.getString("Port1")%>">
        </br>

        // here the submit button and close database

last_insert_id方法正在检索last_id+1意味着如果last id为9,它将检索10并在where子句中进行比较,因此没有等于10的id您的查询正在检索null,请尝试此查询它对我有效

从decsfinal中选择Did、ShipName、Origin、Port1,其中Did=Last\u insert\u id-1

或 如果您的主键DID设置为自动递增,则可以使用此查询获得所需的结果

从decsfinal中选择maxDid、ShipName、Origin、Port1