Laatst ingevoegde id ophalen met Mysql

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:

  1. Ik kan de tabel niet specificeren
  2. Misschien bestaat het risico dat de verkeerde id wordt opgehaald als er in de tussentijd een vraag wordt gesteld.
  3. 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

Other episodes