SQLite позволяет первичный, когда автоинкремент указан - PullRequest
0 голосов
/ 13 октября 2011

Я использую SQLite для тестирования моего проекта DAO. Причина в том, что он обеспечивает быстрый способ сообщить мне, может ли модель выполнить операцию CRUD.

Таким образом, существует проект NUNIT, который проверяет каждый DAO и указывает на сбои.

Однако я столкнулся с проблемой, когда для класса, в котором основной элемент помечен как назначенный, а в таблице включен автоинкремент, вставка не завершается с ошибкой, как в 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 )

Как я могу получить ошибку при вставке, указывающую на проблему с моделированием?

1 Ответ

0 голосов
/ 13 октября 2011

SQLite намного более простителен, чем другие базы данных, когда дело доходит до хранения данных. Единственное, что я могу придумать, чтобы сделать этот сбой, - это создать триггер INSERT, который каким-то образом делает запрос неудачным.

Насколько мне известно, DAO не диктует, как база данных должна реагировать, когда предоставляется значение для поля автоинкремента, что делает тестовый проект слишком ограничительным (или специфичным для SQL Server).

...