gpt4 book ai didi

java - 如何在 MySql 中使用 LAST_INSERT_ID() 等效于 @@IDENTITY

转载 作者:太空宇宙 更新时间:2023-11-03 10:45:50 24 4
gpt4 key购买 nike

<分区>

在 MySql 中,我想使用 SQL @@IDENTITY 的等价物,我找到了这个 LAST_INSERT_ID()。我在搜索中发现,即使存在不同的 session ,它也能正常工作。我想在当前 session 中找到最后一个 ID。我正在使用以下代码。

public static void main(String[] args) {

try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = null;
conn = DriverManager.getConnection("jdbc:mysql://localhost/fuel","root", "");
System.out.print("Database is connected !\n");

Statement st = conn.createStatement();
String response = "<food>";
String insertQuery = "INSERT INTO transactions(user_input,fuel_response,execution_time)"+
"VALUES(?,?,?)";
PreparedStatement prepareStatementObj = conn.prepareStatement(insertQuery);
prepareStatementObj.setString(1, "I drank a babyfood juice apple.");
prepareStatementObj.setString(2, response);
prepareStatementObj.setInt(3, 4500);

prepareStatementObj.execute();

String queryForId = "SELECT LAST_INSERT_ID() FROM transactions";
ResultSet rs2 = st.executeQuery(queryForId);
if (!rs2.isBeforeFirst() ) {
System.out.println("No data");
} else {
while ( rs2.next() ) {
int id = rs2.getInt("id");
System.out.println("Last id of this session was..."+id);
}
}

conn.close();
} catch(Exception e) {
System.out.print("Do not connect to DB - Error:"+e);
}
}

代码正在为插入工作,但我没有得到最后插入的 ID。它给出了以下异常。
未找到列“id”。如果您能提供帮助,我将不胜感激。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com