如何从c#中的sqlite数据库中返回自动生成的列值。我正在使用Sqlite.data.dll。从sqlite数据库中返回自动生成的列值
通过执行查询的尝试:“选择last_insert_rowid(),但它不;吨似乎工作,因为它是返回0我使用SqliteDataReader对象获取结果
感谢
如何从c#中的sqlite数据库中返回自动生成的列值。我正在使用Sqlite.data.dll。从sqlite数据库中返回自动生成的列值
通过执行查询的尝试:“选择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()
的唯一要求是,它被称为相同数据库连接上;请检查你是否打开另一个。
ID列是自动增量列和主键。 SELECT max(ID)可以工作,但这是检索自动生成列值的最佳方法吗? – user1140366
谢谢...我使用不同的数据库连接来获取自动生成的列,但使用相同的连接它工作正常。 – user1140366
这是线程安全吗?如果在第二条和第三条语句之间插入了不同的连接(在'insert'和'select last_ins'之间插入...)? –
@LimitedAtonement这是[记录](http://www.sqlite.org/c3ref/last_insert_rowid.html)。 –