22

単純なINSERTを実行して、ID(主キーの自動インクリメント)を返そうとしています。私はもう試した

cmd.CommandText = "INSERT INTO Prototype ( ParentID ) VALUES ( NULL ); SELECT SCOPE_IDENTITY();";

次のエラーが表示されます

EnvironmentError:SQLiteエラー
そのような関数はありません:SCOPE_IDENTITY

SQLiteはSCOPE_IDENTITYをサポートしていますか?
もしそうなら、私はそれをどのように使用しますか?
そうでない場合、私の(できれば「スレッドセーフ」な)代替手段は何ですか?

4

3 に答える 3

27

プログラミングに C インターフェイスを使用しておらず、SQL コマンドからプロセスを実行したい場合は、次を試してください。SELECT last_insert_rowid()

http://www.sqlite.org/lang_corefunc.html

于 2008-11-28T13:22:30.777 に答える
21

FAQをチェックしてください。sqlite3_last_insert_rowid ()関数がそれを行います。ただし、トリガーには注意してください。

于 2008-11-20T07:38:33.187 に答える