这是我正在运行的 SQL 查询:
string theQuery = "UPDATE readings SET chng = 1, time = FROM_UNIXTIME(";
theQuery += boost::lexical_cast<string>(ss.time);
theQuery += ") WHERE id = 1;";
ss.time 是一个 uint32_t,它记录自 1970 年 1 月 1 日以来的秒数。当我尝试将值“3586767203”放入 FROM_UNIXTIME 的括号中时,它是我设备上的时间值,它会将我的时间字段更新为 NULL。如果我输入一个较小的数字,它会更新时间字段。
如果我输入有效时间,为什么它会更新为 NULL?