Heim  >  Fragen und Antworten  >  Hauptteil

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

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

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

PHPzPHPz2743 Tage vor718

Antworte allen(4)Ich werde antworten

  • 天蓬老师

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

    假设楼主用的是世界上最好的语言,那就可以用mysql_insert_id()这个函数

    Antwort
    0
  • 怪我咯

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

    hibernate这些持久化工具都可以save之后获得持久化的对象,里面的id即为刚刚插入之后的id。
    如果没有持久层也可以用SQL函数LAST_INSERT_ID()获得刚刚插入的AUTO_INCREACE字段的ID值。必须前一SQL为一INSERT语句,如果是其他语句,返回的ID值为零。

    Antwort
    0
  • 黄舟

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

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

    看评论

    Antwort
    0
  • PHPz

    PHPz2017-04-17 13:20:58

    只说mysql的话

    SELECT LAST_INSERT_ID();

    有些数据库驱动会专门提供方法,比如PDO::lastInsertId

    Antwort
    0
  • StornierenAntwort