我想执行类似的查询:
INSERT INTO MyTable VALUES(datetime('now'));
MyTable
有架构的地方:
CREATE TABLE MyTable(
mydate DATETIME
)
在SQLite Manager中执行时,查询会在mydate
的{{1}}列中完美插入当前日期时间值。
但是在使用
执行时MyTable
mydate中的值读取 datetime('now'),而不是实际的当前日期和时间。
我正在从ContentProvider执行所有这些操作。
我该如何解决这个问题?
答案 0 :(得分:1)
您无法在query()
的调用中使用SQLite函数,无论query()
还是SQLiteDatabase
都调用了ContentResolver
。
您可以在rawQuery()
上通过SQLiteDatabase
执行的SQL语句中嵌入对SQLite函数的调用,但如果您希望将数据库访问权限包含在内容提供程序中,则可能对您没有多大帮助。 / p>
最简单的答案是您调整架构,使mydate
的默认值为datetime('now')
,然后在插入数据时忽略该列。