SQLite.SQLiteException: повторяющееся имя столбца Являются ли имена столбцов нечувствительными к регистру?

Я использую SQLLite.Net-PCL 3.1.1 в одном из своих проектов и столкнулся с проблемой "SQLite.SQLiteException: повторяющееся имя столбца" при создании таблицы в SQLite.

Причина в том, что в моем родительском классе (которым я не владею) есть столбец с именем "ID". В моем интерфейсе есть столбец с именем Id, обратите внимание на регистр.

Я решил эту проблему, добавив следующую строку кода в свой производный класс:

[Ignore]
public new long ID { get; set; }

Где атрибут [Ignore] предотвращает добавление столбца «ID» в мою базу данных SQLite, что решает мою проблему.

Мой вопрос: имена столбцов в SQLite не чувствительны к регистру по дизайну или это ошибка?


person Niels    schedule 11.11.2017    source источник
comment
Я думаю, что названный столбец нечувствителен к регистру, но даже если бы они были чувствительны к регистру, использование одного и того же имени позже вызвало бы проблемы в ИМО.   -  person Tim Biegeleisen    schedule 11.11.2017
comment
Они нечувствительны к регистру, если вы не ссылаетесь на них в кавычках. Так что select id from table и select "ID" from table не одно и то же. Здесь наверное актуально. stackoverflow.com/a/19933159/2193107   -  person JBC    schedule 11.11.2017
comment
Вот как определяется язык SQL.   -  person a_horse_with_no_name    schedule 11.11.2017


Ответы (1)


В SQLite все идентификаторы SQL нечувствительны к регистру (даже в кавычках).

person CL.    schedule 11.11.2017