SQLite3 c++列值不会增加1
SQLite3 C++ Column value wont increment by 1
我在我的一个表中有一列,我试图通过c++中的sqlite3中的update查询更新。使用v3.8.10.2合并sqlite3.
我可以设置这个值为任何我想要的值,但是我不能增加它。该值从0开始。一旦我增加它,它增加到1。之后,如果我尝试再次增加它,它不增加,它保持在1 同样的,如果我把1替换成8。它保持在8,不会再上升(即使它应该上升到16)。
char* query = "UPDATE THETABLE SET ATTEMPTS = ATTEMPTS + 1 WHERE TESTFIELD = 'Hello';"
int error = sqlite3_exec(db, query.c_str(), NULL, 0, &errMsg);
if(error != SQLITE_OK){
//This doesn't happen, error is = to SQLITE_OK
cout << "SQL Error: " << error << " message: " << errMsg << endl;
sqlite3_close(db);
return;
}
cout << "Updated value!" << endl;
我在Windows中通过命令提示控制台使用了完全相同的查询,它有效,它递增。在c++中,它保持为1。为什么?
编辑:我也试过这个查询:
"UPDATE table SET ATTEMPTS = +1 WHERE TESTFIELD = 'Hello';"
同样的,它停留在1。不能再高了
编辑2:下面是该列的模式:
"ATTEMPTS INTEGER DEFAULT 0,"
这是sqlite3 c++实现中的错误吗?
问题是当我最初添加一行时,我正在做一个:
插入或替换
我没有设置字段的值,我以为它不会被触摸,但它被设置为默认值0。
我把它改成:
插入或忽略
相关文章:
- 数组索引的值没有增加
- 为什么我的代码在输出中增加了93天
- 有效地使用std::unordered_map来插入或增加键的值
- C++ 动态数组每次添加时将大小增加 1 - 错误
- 为什么要增加导致崩溃的指针
- 增加传递地址的值
- 如何增加以前由新运算符分配的 C++ std::list 数组的大小?
- 为什么"i"在循环的每次迭代中都没有增加?(C++)
- std::thread 增加 DLL 引用计数,从而防止卸载 DLL
- 如何在C++中为增加但记住删除先前对象的对象分配唯一标识符
- 将一对插入地图并增加计数?
- 整数类型应该显式转换(例如"int"到"无符号")还是只会增加混乱?
- 我的 c++ 应用程序中的运行时间从 0 增加到 60 太快了(例如一毫秒或一微秒)
- 为什么当通过 TCP 发送的消息速率增加时,请求-响应消息对的延迟会降低?
- 琐碎并发代码的吞吐量不会随着线程数量的增加而增加
- C++:功能在输出前自动使用50减/增加输入数
- 追加位以增加字符的大小
- 为什么在C++中增加指针后打印了一个值而不是 NULL/0?
- 内存增加和字符串流?
- 如何增加使用 CUDA 实现的 FLOPS