当指定了autoincrement时,SQLite允许一个primary

本文关键字:SQLite 许一个 primary autoincrement | 更新日期: 2023-09-27 18:11:22

我正在使用SQLite来测试我的DAO项目。原因是它提供了一种快速的方法来告诉我模型是否可以执行CRUD操作。

所以有一个NUNIT项目测试每个DAO并指出失败。

然而,我遇到了一个问题,其中一个类有Primary标记为分配和表有自动增量打开,插入不会失败,因为它应该在SQL Server。

下面是我用来在内存中创建SQLite表的语法。

CREATE TABLE dbo.Control ([ControlNumber] INTEGER PRIMARY KEY AUTOINCREMENT  NOT NULL ,[ControlDescription] TEXT    NULL ,[ControlNumeric] REAL    NULL ,[ControlText] TEXT    NULL ,[ControlGroupKey] INTEGER    NULL )

我怎样才能让插入失败,表明有一个关于建模的问题?

当指定了autoincrement时,SQLite允许一个primary

在存储数据方面,SQLite比其他数据库宽容得多。我能想到的唯一使这个失败的方法是创建一个INSERT触发器,以某种方式使查询失败。

据我所知,DAO并没有规定当为自动增量字段提供值时数据库应该如何反应,这会使测试项目过于受限(或特定于SQL Server)。