我正在尝试迁移到 SQLite。在我的 C++ 程序中,我使用 unsigned int key
来存储 id。当我将数据从 C++ 程序序列化到 SQLite,然后将其反序列化或浏览数据库时,我在列中看到负值(带符号)。
我使用此函数在序列化上绑定(bind)无符号整数
:
sqlite3_bind_int(stmt, 1, key);
表的键列在创建时声明为INT
。也许这是我的错误?
有什么建议如何正确地将无符号整数
序列化到SQLite中并在不进行任何更改的情况下将其加载回来吗?
最佳答案
SQLite 的类型系统不支持无符号整数。但您可以使用sqlite3_bind_int64
来代替:unsigned int
(假设它是32位)可以无损地转换为int64_t
。
关于c++ - sqlite c++ 和 unsigned int key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17305811/