3

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

我的代码是这样的:

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

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

1 回答 1

4

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

选择 LAST_INSERT_ID();

它为您提供“作为最近执行的 INSERT 语句的结果,成功插入 AUTO_INCREMENT 列的第一个自动生成值的值”。有关 MySQL 文档的说明,请参见此处

更新:

我从一个用户那里找到了这篇文章,他说如果你不在你的字段上使用 auto_increment 你可以使用

选择@@identity作为 id;

于 2012-08-30T19:13:27.260 回答