Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Mendapatkan ID Terakhir yang Dimasukkan dalam MySQL dengan Node.js?

Bagaimana untuk Mendapatkan ID Terakhir yang Dimasukkan dalam MySQL dengan Node.js?

Barbara Streisand
Barbara Streisandasal
2024-11-15 13:23:03661semak imbas

How to Retrieve the Last Inserted ID in MySQL with Node.js?

Mengambil ID Terakhir Dimasukkan dengan MySQL dan Node.js

Apabila berurusan dengan operasi pangkalan data, selalunya terdapat senario di mana anda perlu mendapatkan semula ID baris yang dimasukkan baru-baru ini. Dalam MySQL, ini boleh dicapai menggunakan fungsi mysqli_insert_id(). Walau bagaimanapun, bagi pengguna MySQL Node.js, terdapat beberapa had dan kebimbangan keselamatan yang dikaitkan dengan kaedah ini.

Mengatasi Had dan Risiko Keselamatan

Keterbatasan dan risiko yang dinyatakan dalam soalan termasuk:

  1. Kurang Kekhususan Jadual: mysqli_insert_id() tidak membenarkan penetapan jadual yang anda ingin dapatkan ID.
  2. Potensi Perlanggaran Pengambilan ID: Berbilang pertanyaan yang dilaksanakan secara serentak boleh mengakibatkan pengambilan ID yang salah.
  3. Keserasian dengan Node.js MySQL: mysqli_insert_id() ialah fungsi PHP dan tidak boleh digunakan secara langsung dalam Node.js MySQL.

Penyelesaian Menggunakan connection.query()

Untuk menangani cabaran ini, anda boleh menggunakan kaedah connection.query() dalam Node.js MySQL, seperti yang diterangkan dalam dokumentasi. Pendekatan ini menawarkan kawalan dan keselamatan yang lebih baik:

connection.query('INSERT INTO posts SET ?', {title: 'test'}, function(err, result, fields) {
  if (err) throw err;

  console.log(result.insertId);
});

Dalam contoh ini, selepas melaksanakan pertanyaan sisipan, objek hasil mengandungi ID sisipan dalam sifat insertId. Kaedah ini memastikan anda mendapatkan ID yang betul dan menghapuskan risiko yang berkaitan dengan penggunaan mysqli_insert_id().

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan ID Terakhir yang Dimasukkan dalam MySQL dengan Node.js?. 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