MySQL C ++ Connector:获取insert_id

时间:2012-08-30 19:00:07

标签: c++ mysql

我正在使用mysql连接器C ++。我的表中有一个auto_increament列,我想在执行插入操作时获取插入ID。有人知道怎么做吗?感谢。

我的代码类似于:

conn->setAutoCommit(0);
pstmt.reset(conn->prepareStatement(insertStr.c_str()));

int updateCount = pstmt->executeUpdate();
conn->commit();

1 个答案:

答案 0 :(得分:3)

如果您使用的库的API没有提供检索last_insert_id的方法(这似乎是C ++连接器的情况),您可以随时进行查询

  

SELECT LAST_INSERT_ID();

它为您提供“表示由于最近执行的INSERT语句而成功为AUTO_INCREMENT列插入的第一个自动生成的值的值。” See here for the explanation of MySQL's documentation

更新:

我发现来自用户的this post,如果你不在你的领域使用auto_increment就可以使用

  

SELECT @@ identity AS id;