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

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

Linda Hamilton
Linda Hamiltonasal
2024-11-19 08:29:03702semak imbas

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

Mengambil ID Terakhir Dimasukkan dengan MySQL dan Node.js

Dalam MySQL, mendapatkan ID baris yang baru dimasukkan ialah operasi biasa. Walau bagaimanapun, bergantung semata-mata pada fungsi mysqli_insert_id boleh menimbulkan batasan. Untuk menangani kebimbangan ini bagi pembangun yang menggunakan Node.js MySQL:

Penghadan mysqli_insert_id:

  • Tidak Dapat Menentukan Jadual: Fungsi tidak membenarkan menentukan jadual di mana baris itu dimasukkan.
  • Potensi ID Salah: Jika pertanyaan lain memasukkan baris sebelum fungsi mysqli_insert_id dipanggil, terdapat risiko mendapatkan semula yang salah ID.

Penyelesaian:

Penyelesaian yang disyorkan ialah menggunakan sifat insertId pemacu MySQL, yang menyediakan kaedah yang boleh dipercayai untuk mendapatkan ID yang terakhir dimasukkan. Berikut ialah contoh:

const mysql = require('mysql');

const connection = mysql.createConnection({
  host: 'localhost',
  user: 'username',
  password: 'password',
  database: 'database_name',
});

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

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

Faedah Pendekatan ini:

  • Pendapatan ID Sasaran: Ia memastikan anda mendapatkan ID untuk jadual dan baris tertentu yang anda masukkan.
  • Pengelak Konkurensi: Dengan melaksanakan pertanyaan untuk mendapatkan ID sejurus selepas sisipan, anda menghapuskan risiko pertanyaan lain yang mengganggu.
  • Keputusan Tepat: Sifat insertId menyediakan cara yang boleh dipercayai dan tepat untuk mendapatkan ID baris terakhir yang dimasukkan.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Kembali 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