2010-09-16 2 views
1

Есть ли способ определить тип столбца в SQLite, который поддерживает любой тип данных, поддерживаемый SQLite?Определение типа столбца "VARIANT" в SQLite?

У меня есть unsigned chars, signedchars, unsigned ints, подписанные ints, символы UTF-8 и blob, которые я хочу заполнить в одном столбце.

Ссылка на любую литературу также приветствуется.

ответ

6

Просто не поставить тип в объявлении столбца, поэтому он имеет NONE сродство

create table my_table(my_col); 

SQLite имеет уникальную систему динамического набора текста. Он имеет значение для ввода значений, но если вы укажете тип столбца, SQLite определит сродство типа (TEXT, NUMERIC, INTEGER, REAL, NONE). Затем он пытается принудить каждую ценность к этой близости.

Фактически поддерживаемые типы: NULL, INTEGER, REAL, TEXT, BLOB. См. Datatypes in SQLite Version 3 для получения дополнительной информации.

3

Вариант по умолчанию в sqlite, наоборот сложнее. Трудно определить столбец, который может терпеть только числа и будет генерировать исключение, если вы хотите вставить «это текст».

Можно утверждать, что столбец может хранить только целые числа проверочного ограничения:

CHECK(typeof(x)='integer') 
Смежные вопросы