SQLite3 Android中的嵌套查询

时间:2011-01-18 12:07:13

标签: android datetime insert sqlite

我想执行类似的查询:

INSERT INTO MyTable VALUES(datetime('now'));

MyTable有架构的地方:

CREATE TABLE MyTable(
mydate DATETIME
)

在SQLite Manager中执行时,查询会在mydate的{​​{1}}列中完美插入当前日期时间值。

但是在使用

执行时
MyTable

mydate中的值读取 datetime('now'),而不是实际的当前日期和时间。

我正在从ContentProvider执行所有这些操作。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您无法在query()的调用中使用SQLite函数,无论query()还是SQLiteDatabase都调用了ContentResolver

您可以在rawQuery()上通过SQLiteDatabase执行的SQL语句中嵌入对SQLite函数的调用,但如果您希望将数据库访问权限包含在内容提供程序中,则可能对您没有多大帮助。 / p>

最简单的答案是您调整架构,使mydate的默认值为datetime('now'),然后在插入数据时忽略该列。