我有一个'created'列,它是INTEGER,这是我在其中插入sqlite日期的方式:
ContentValues vals = new ContentValues();
vals.put(Column._CREATED_DATE, "strftime('%s','now')");
db.insert(Table.ARTICLE.name, null, vals);
令人难以置信的是,他将strftime('%s','now')
字符串插入INTEGER列!
到底是什么?
编辑:当我在SQLite浏览器中运行insert into article (created) values (strftime("%s","now"))
时,会插入正确的整数值...
答案 0 :(得分:3)
为您的表添加默认值,例如
CREATE TABLE article (
_id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
_created_date INTEGER DEFAULT (strftime('%s', 'now'))
);
如果在创建行时未设置其列值,则会将unix时期放在_created_date中。如果您需要时间戳(例如2012-05-07 13:07:58),请将其定义为
_created_date INTEGER DEFAULT CURRENT_TIMESTAMP