1

我有一个带有自动递增 ID 的表。插入新行后,我想检索新 ID。

我发现了一篇使用 MySQL 函数LAST_INSERT_ID()的文章。文章说要创建一个新查询并提交它。

我正在使用 MySQL 连接器 C++、Windows XP 和 Vista 以及 Visual Studio 9。

以下是我的问题:

  1. 是否有用于连接器的 API 可以从记录中提取 ID?
  2. 插入/追加后的结果集是否包含新 ID?
  3. LAST_INSERT_ID是特定于 MySQL 的。是否有 获取新 ID的 SQL标准方法?
4

1 回答 1

1
  1. 它看起来不像 - 在 C API 中,你有 mysql_insert_id() ,但它似乎没有在 C++ 连接器中使用,也没有从 JDBC API 实现 getGeneratedKeys 方法(但是,我自己不使用这个连接器,所以我可能会遗漏一些明显的东西......)。
  2. 不,INSERT 没有结果集。
  3. 不。据说,DB2 是唯一一个遵循 SQL 标准关于自动生成键的规定;其他人的做法都不同(来自标准和彼此)。
于 2010-05-10T23:09:11.760 回答