Из документации по SQLite3:
http://www.sqlite.org/datatype3.html
Большинство механизмов баз данных SQL (каждый механизм баз данных SQL, кроме
Насколько нам известно, SQLite использует статическую жесткую типизацию. Со статическим
набирая, тип данных значения определяется его контейнером -
определенный столбец, в котором хранится значение.
SQLite использует более общую динамическую систему типов. В SQLite
тип данных значения связан с самим значением, а не с его
контейнер. Динамическая система типов SQLite обратно совместима
с более распространенными системами статических типов других механизмов баз данных в
смысл, что оператор SQL, который работает на статически типизированных базах данных
должен работать так же в SQLite. Тем не менее, динамический ввод в
SQLite позволяет делать то, что невозможно в традиционном
жестко типизированные базы данных.
Так, в MS Sql Server (например), "int" == "integer" == 4 байта / 32 бита.
Напротив, целочисленное значение SqlLite может содержать все, что вы в него поместите: от 1-байтового символа до 8-байтового длинного.
Приведенная выше ссылка перечисляет все типы и дает более подробную информацию о Sqlite "affinity".
Интерфейс C / C ++, на который вы ссылаетесь, должен работать со строго типизированными языками.
Итак, есть два API: sqlite3_column_int (), максимум 4 байта; и sqlite3_column_int64 ()
http://www.sqlite.org/capi3ref.html#sqlite3_int64