最近在做一些游戲的數據分析,需要對大量數據的用戶行為進行處理存庫,其中有個數據庫字段是datetime類型的,這個以前都沒用過,我以前都喜歡用int來存放時間戳,但這次這樣用,我就得在數據庫中轉換了,
char buf_update[81920] = {0};
int length = 0;
sprintf(buf_update, "update lost_player set account = %s,lastlogin = from_unixtime(%u), reallevel = %u, fox = %u, firstmap = %u, lasttask = %u, 2ndmap = %u, 3rdmap = %u, taskstatus = %u where playerid = %llu",localAction.account.c_str(),localAction.lastlogin, localAction.reallevel, localAction.fox, localAction.firstmap, localAction.lasttask, localAction.secondmap, localAction.thirdmap, localAction.taskstatus, localAction.playerId);
其中的lastlogin就是datetime類型的數據。
另外還有就是當設置文字編碼是utf8的時候一個中文字符占用的是3個字節,而并不是我之前認識的2個字符,謹記。