Goedendag,
Ik ben bereid de id-waarde van een vers ingevoegde rij in Mysql op te halen.
Ik weet dat er een mysqli_insert_id-functie is, maar:
- Ik kan de tabel niet specificeren
- Misschien bestaat het risico dat de verkeerde id wordt opgehaald als er in de tussentijd een vraag wordt gesteld.
- Ik gebruik node.js MySQL
Ik wil niet het risico nemen om de hoogste id te bevragen, aangezien er veel vragen zijn, het kan me de verkeerde geven…
(Mijn ID-kolom staat op automatisch verhogen)
Antwoord 1, autoriteit 100%
https://github.com/mysqljs/ mysql#getting-the-id-of-an-inserted-row
beschrijft de oplossing perfect:
connection.query('INSERT INTO posts SET ?', {title: 'test'}, function(err, result, fields) {
if (err) throw err;
console.log(result.insertId);
});
Antwoord 2, autoriteit 6%
var table_data = {title: 'test'};
connection_db.query('INSERT INTO tablename SET ?', table_data , function(err, result, fields) {
if (err) {
// handle error
}else{
// Your row is inserted you can view
console.log(result.insertId);
}
});
Je kunt het ook bekijken via deze link https: //github.com/mysqljs/mysql#getting-the-id-of-an-inserted-row
Antwoord 3
Ik denk dat je het gebruik van de mysqli_insert_id()
methode verkeerd hebt begrepen. Deze methode moet onmiddellijkna de insert-instructie worden uitgevoerd om de laatst ingevoegde id te verkrijgen. als je het mijn MySQL rechtstreeks doet
INSERT INTO(a,b)values(1,'test');
SELECT LAST_INSERT_ID(); -- this will display the last inserted id