Rumah > Soal Jawab > teks badan
Saya menggunakan Nodejs dan menggunakan rangka kerja expressjs dan kini saya cuba dapatkan "Id yang dimasukkan terakhir" tetapi saya semakin "tidak ditentukan" dalam konsol, bagaimana saya boleh mendapatkan id yang dimasukkan terakhir? Ini kod semasa saya
static async addServiceDetail(salonId,serviceId,genderTypeId,price,serviceName) { const sql = `SELECT id from hc_servicesdetail WHERE shopId='${shopId}' AND serviceId='${serviceId}' AND genderTypeId='genderTypeId'`; const [rows, fields] = await pool.execute(sql); if(rows<1) { const sql2 = `INSERT INTO hc_servicesdetail (shopId, serviceId, genderTypeId,price,serviceName) VALUES ("${shopId}", "${serviceId}", "${genderTypeId}", "${price}","${serviceName}")`; const datass = await pool.execute(sql2); console.log('last inserted id is ' +datass.insertId); } else { console.log('already exist'); } } } module.exports = User;
P粉7318612412024-03-20 15:00:01
Tersedia dalam fungsi panggil balik yang dilaksanakan semasa membuat pertanyaan menggunakan result.insertId
属性。此属性在执行 INSERT
.
static async addServiceDetail(shopId, serviceId, genderTypeId, price, serviceName) { const sql = `SELECT id from hc_servicesdetail WHERE shopId='${shopId}' AND serviceId='${serviceId}' AND genderTypeId='${genderTypeId}'`; const [rows, fields] = await pool.execute(sql); if (rows < 1) { const sql2 = `INSERT INTO hc_servicesdetail (shopId, serviceId, genderTypeId, price, serviceName) VALUES ("${shopId}", "${serviceId}", "${genderTypeId}", "${price}","${serviceName}")`; const [datass, _] = await pool.execute(sql2); console.log('last inserted id is ' + datass.insertId); } else { console.log('already exist'); } }
Perhatikan bahawa saya menambah genderTypeId='genderTypeId'
更改为 ngenderTypeId='${genderTypeId}'
dalam pertanyaan SQL pertama. Ini sepatutnya membetulkan ralat sintaks.