2

我正在尝试迁移到 SQLite。在我的 C++ 程序中,我unsigned int key用来存储 id。当我将 C++ 程序中的数据序列化为 SQLite,然后将其反序列化或浏览数据库时,我在列中看到负值(有符号)。

unsigned ints我用这个函数绑定序列化:

sqlite3_bind_int(stmt, 1, key);

键的表列INT在创建时声明。也许这是我的错误?

有什么建议如何正确序列化unsigned ints到 SQLite 并在不更改的情况下将其加载回来?

4

1 回答 1

3

SQLite 的类型系统不支持无符号整数。但您可以sqlite3_bind_int64改用:(unsigned int假设它是 32 位)可以无损转换为int64_t.

于 2013-06-26T04:44:12.037 回答