Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan ID Auto-Jana Selepas Operasi INSERT dalam JDBC?
Mendapatkan ID Dijana Auto Selepas INSERT dalam JDBC
Dalam JDBC, mendapatkan semula ID yang dijana oleh pernyataan INSERT adalah penting, terutamanya apabila menggunakan kunci atau jujukan kenaikan automatik. Panduan ini menggariskan beberapa kaedah untuk mencapai matlamat ini.
Menggunakan Statement.RETURN_GENERATED_KEYS
:
Pendekatan paling mudah memanfaatkan bendera Statement.RETURN_GENERATED_KEYS
JDBC. Apabila digunakan dengan PreparedStatement
atau CallableStatement
, ini mengarahkan pemandu untuk mengembalikan kunci yang baru dijana.
Contoh:
<code class="language-java">PreparedStatement statement = connection.prepareStatement(SQL_INSERT, Statement.RETURN_GENERATED_KEYS); // ... execute the INSERT statement ... ResultSet generatedKeys = statement.getGeneratedKeys(); if (generatedKeys.next()) { long insertId = generatedKeys.getLong(1); // Get the first generated key }</code>
Penyelesaian Khusus Pangkalan Data:
Jika RETURN_GENERATED_KEYS
tidak disokong oleh pangkalan data atau pemacu anda, pertanyaan khusus pangkalan data diperlukan:
CallableStatement
dengan klausa RETURNING
atau laksanakan pertanyaan SELECT CURRVAL(sequencename)
selepas INSERT.SELECT LAST_INSERT_ID()
untuk mendapatkan ID yang paling baru dimasukkan.Keserasian Pemandu JDBC:
Ingat bahawa sokongan untuk RETURN_GENERATED_KEYS
boleh berbeza-beza mengikut pemacu JDBC. Rujuk dokumentasi pemandu anda untuk mengesahkan keupayaannya. Pemandu lama mungkin memerlukan kaedah alternatif.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan ID Auto-Jana Selepas Operasi INSERT dalam JDBC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!