1

自動インクリメントIDのテーブルがあります。新しい行を挿入した後、新しいIDを取得したいと思います。

MySQL関数LAST_INSERT_ID()を使用した記事を見つけました。この記事には、新しいクエリを作成して送信するように書かれています。

MySQL Connector C ++、Windows XPとVista、およびVisualStudio9を使用しています。

これが私の質問です:

  1. レコードからIDをフェッチするコネクタ用のAPIはありますか?
  2. 挿入/追加後の結果セットには、新しいIDが含まれていますか?
  3. これLAST_INSERT_IDはMySQL固有です。新しいIDを取得するためのSQL 標準の方法はありますか?
4

1 に答える 1

1
  1. それはそのようには見えません-CAPIには、このためのmysql_insert_id()がありますが、C ++コネクタでは使用されていないようであり、JDBC APIからgetGeneratedKeysメソッドを実装しているようにも見えません(ただし、 、私はこのコネクタを自分で使用していないので、明らかな何かが欠けている可能性があります...)。
  2. いいえ、INSERTからの結果セットはありません。
  3. いいえ。おそらく、自動生成されたキーについてSQL標準が述べていることに従うのはDB2だけです。他のすべての人はそれを異なって行います(標準とお互いの両方から)。
于 2010-05-10T23:09:11.760 に答える