SQLite是否支持SCOPE_IDENTITY?

Gre*_*reg 19 sql sqlite

我正在尝试执行一个简单的INSERT并返回标识(自动递增主键).我试过了

cmd.CommandText = "INSERT INTO Prototype ( ParentID ) VALUES ( NULL ); SELECT SCOPE_IDENTITY();";
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

EnvironmentError: SQLite error
no such function: SCOPE_IDENTITY

SQLite是否支持SCOPE_IDENTITY?
如果是这样,我该如何使用它?
如果没有,我的(最好是"线程安全")替代品是什么?

小智 25

如果您没有使用C接口进行编程并希望从SQL命令执行此过程,请尝试: SELECT last_insert_rowid()

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


Rob*_*ner 20

查看常见问题解答.该sqlite3_last_insert_rowid()函数将做到这一点.虽然小心的触发器.