【发布时间】:2012-09-05 04:05:55
【问题描述】:
如何在 c# 中从 sqlite 数据库返回自动生成的列值。我正在使用 Sqlite.data.dll。
通过执行查询尝试:“选择 last_insert_rowid() 但它没有;似乎无法正常工作,因为它返回 0。我正在使用 SqliteDataReader 对象来获取结果。
谢谢
【问题讨论】:
如何在 c# 中从 sqlite 数据库返回自动生成的列值。我正在使用 Sqlite.data.dll。
通过执行查询尝试:“选择 last_insert_rowid() 但它没有;似乎无法正常工作,因为它返回 0。我正在使用 SqliteDataReader 对象来获取结果。
谢谢
【问题讨论】:
我尝试了这些命令,它运行良好(即使 last_insert_rowid() 调用来自另一个事务):
sqlite> create table mytable(pk integer primary key, other stuff);
sqlite> insert into mytable values(null, 42);
sqlite> select last_insert_rowid();
1
last_insert_rowid()的唯一要求是在相同数据库连接上调用它;请检查您没有打开另一个。
【讨论】:
insert 和select last_ins...之间)插入了不同的连接怎么办?
【讨论】: