Rumah >pangkalan data >tutorial mysql >Bagaimanakah saya boleh mendapatkan ID kenaikan automatik selepas memasukkan data menggunakan Penyata Disediakan dalam Java?

Bagaimanakah saya boleh mendapatkan ID kenaikan automatik selepas memasukkan data menggunakan Penyata Disediakan dalam Java?

Susan Sarandon
Susan Sarandonasal
2024-11-17 11:34:01813semak imbas

How can I retrieve an auto-increment ID after inserting data using Prepared Statements in Java?

Mengambil ID Autoincrement Menggunakan Penyata Disediakan dalam Java

Apabila memasukkan data ke dalam jadual dengan kunci utama autokenaikan, ia boleh diingini untuk mendapatkan semula ID yang dijana untuk rekod baharu. Walaupun pendekatan AutoGeneratedKeys berfungsi untuk objek pernyataan standard, ia tidak boleh digunakan secara langsung dengan pernyataan yang disediakan.

Menggunakan Penyata Disediakan untuk Operasi Sisipan

Dengan pernyataan yang disediakan, anda boleh melaksanakan pertanyaan SQL dengan parameter dinamik. Untuk memasukkan data dengan pernyataan yang disediakan, gunakan format berikut:

String sql = "INSERT INTO table (column1, column2) values(?, ?)";
PreparedStatement stmt = conn.prepareStatement(sql);

Dengan menetapkan nilai parameter sebelum memanggil executeUpdate(), anda boleh melaksanakan pertanyaan yang sama dengan nilai yang berbeza beberapa kali.

Mendapatkan ID Autokenaikan dengan Penyata Disediakan

Untuk mendapatkan semula ID autokenaikan yang dijana oleh pernyataan yang disediakan, anda perlu menentukan Penyata.RETURN_GENERATED_KEYS sebagai pilihan semasa membuat pernyataan yang disediakan:

PreparedStatement stmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);

Selepas melaksanakan pertanyaan, anda boleh mendapatkan semula ID autokenaikan menggunakan kod berikut:

if (returnLastInsertId) {
   ResultSet rs = stmt.getGeneratedKeys();
   rs.next();
   auto_id = rs.getInt(1);
}

Dengan membuat sedikit pengubahsuaian pada kod anda, anda boleh berjaya mendapatkan autokenaikan ID apabila menggunakan pernyataan yang disediakan untuk operasi sisipan.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mendapatkan ID kenaikan automatik selepas memasukkan data menggunakan Penyata Disediakan dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn