首頁  >  問答  >  主體

mysql优化 - 如何高效的获取mysql最后插入数据表中的那条数据的id(该字段自增)?

假设:user表,有一个字段id,设置id为自增,执行一次insert语句,如何高效的获取刚刚插入的数据的id是多少?

原来的解决方案:执行insert之后,再执行一次select,找到刚刚插入的数据,拿到id,有没有可能优化这种方案?

PHPzPHPz2743 天前725

全部回覆(4)我來回復

  • 天蓬老师

    天蓬老师2017-04-17 13:20:58

    假設樓主用的是全世界最好的語言,那就可以用mysql_insert_id()這個函數

    回覆
    0
  • 怪我咯

    怪我咯2017-04-17 13:20:58

    hibernate這些持久化工具都可以save之後得到持久化的對象,裡面的id即為剛插入之後的id。
    如果沒有持久層也可以用SQL函數LAST_INSERT_ID()來取得剛插入的AUTO_INCREACE欄位的ID值。必須前一SQL為一INSERT語句,如果是其他語句,則傳回的ID值為零。

    回覆
    0
  • 黄舟

    黄舟2017-04-17 13:20:58

    https://dev.mysql.com/doc/refman/5.0/en/getting-unique-id.html

    看評論

    回覆
    0
  • PHPz

    PHPz2017-04-17 13:20:58

    只說mysql的話

    SELECT LAST_INSERT_ID();

    有些資料庫驅動會專門提供方法,例如PDO::lastInsertId

    回覆
    0
  • 取消回覆