繁体   English   中英

SQLite3 Android中的嵌套查询

[英]Nested Queries in SQLite3 Android

我想执行类似以下的查询:

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

MyTable具有架构:

CREATE TABLE MyTable(
mydate DATETIME
)

在SQLite Manager中执行查询时,查询会完美运行,将当前datetime值插入MyTable mydate列中。

但是使用时执行

ContentValues cv=new ContentValues();
cv.put(MyTable.mydate,"datetime('now')");
getContentResolver.insert(MyTable.CONTENT_URI,cv);

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

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

我怎样才能解决这个问题 ?

你不能使用SQLite函数调用query()无论是query()上调用SQLiteDatabase或在ContentResolver

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM