我有一个有几行的表。表结构中没有设置数据类型,有些行是整数,有些是 BLOB。
我怎样才能知道什么是什么?我正在使用C API。
sqlite3_column_type
为我提供了所有行的相同数据类型,这是不正确的。
最佳答案
sqlite3_column_type
是为您提供数据实际类型的函数。- 请注意,当您使用其他
sqlite3_column_*
函数获取值时,sqlite 会转换其拥有的数据,并且类型会发生变化以反射(reflect)这一点。在对该行执行任何其他操作之前询问类型。 - 插入值时存在一些转换值的逻辑。您确定数据符合您的预期吗?使用
typeof
SQL 函数进行检查(sqlite3_column_type
C 函数和typeof
SQL 函数应始终返回相同的值)。
关于c - 获取每行的列类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11244656/