[英]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.