我将多个数据插入到一个sqlite表中,并始终获得相同的ID。但是字段Id配置为PK + autoinc Id。
我使用这个作为连接字符串:
public static void SetConnectionString(string dataDataAccessPath)
{
_connectionString = String.Format(@"Data Source={0};Foreign Keys=ON", dataDataAccessPath);
}
这个"Foreign Keys=ON"是为连接实现的,而"PRAGMA foreign_keys =ON;"必须在每个打开的连接上执行。
现在我想知道为什么connectionstring上的新属性不工作…
我做错了什么吗?
我不是SQLite方面的专家(事实上我没有实际经验),但我可以想象,无论您的IDENTITY
字段是否会随着插入而自动增加,都与表的定义有关,而不是与您使用的连接字符串有关。
请注意,您不能增加FOREIGN KEY
本身,而是需要使用IDENTITY
字段增加表,该字段充当FOREIGN KEY
随后引用的PRIMARY KEY
。
你能添加你遇到麻烦的表的定义吗?