web-dev-qa-db-ja.com

Mysqlで最後に挿入されたIDを取得する

良い一日、

Mysqlに新しく挿入された行のid値を取得します。

Mysqli_insert_id関数があることは知っていますが、次のとおりです。

  1. テーブルを指定できません
  2. その間にクエリが行われた場合、間違ったIDを取得するリスクがあるかもしれません。
  3. Node.js MySQLを使用しています

多数のクエリがあるため、最高のIDをクエリするリスクを冒したくありません。間違ったクエリが表示される可能性があります。

(私のid列は自動インクリメントです)

49
lopata

https://github.com/mysqljs/mysql#getting-the-id-of-an-inserted-row はソリューションを完璧に説明しています:

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

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

編集:スペルとリポジトリはgithubで移動したため、現在のリンクに変更しました。

100
luksch
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);
    }
});

このリンクにアクセスして表示することもできます https://github.com/mysqljs/mysql#getting-the-id-of-an-inserted-row

5
VIKAS KOHLI