我正在开发Rails应用程序,并使用SQLite3作为我的数据库服务器。我在查询function getOldFileIDs() {
var fileIDs = [];
// Old date is 30 days
var oldDate = new Date().getTime() - 3600*1000*24*30;
var cutOffDate = Utilities.formatDate(new Date(oldDate), "GMT", "yyyy-MM-dd");
// Get folderID using the URL on google drive
var folder = DriveApp.getFolderById('XXXXXXX');
var files = folder.searchFiles('modifiedDate < "' + cutOffDate + '"');
while (files.hasNext()) {
var file = files.next();
fileIDs.push(file.getId());
Logger.log('ID: ' + file.getId() + ', Name: ' + file.getName());
}
return fileIDs;
};
function deleteFiles() {
var fileIDs = getOldFileIDs();
fileIDs.forEach(function(fileID) {
DriveApp.getFileById(fileID).setTrashed(true);
});
};
时有一个conferences
to
小于date_time
的问题。这是我的控制器中的确切语句:
Time.now
@conferences = @conferences.where("to < ?", Time.now)
在我的控制器中预先定义为
@conferences
我收到以下错误消息:
SQLite3 :: SQLException:在“至”附近:语法错误:SELECT “会议”。*在“会议”中,“会议”。“ country_id” = ? AND(至<'2019-08-16 22:45:57.891117')限制?偏移量?
我尝试设置并阅读有关@conferences = @conferences.where("to < ?", Time.now)
和LIMIT
的更多信息,但这没用,可能是因为我对它们的用途没有很好的了解。
答案 0 :(得分:1)
将其更改为
@conferences = @conferences.where("\"to\" < ?", Time.now)
to
是SQL中的保留关键字。如果要将其用作列名,则必须使用双引号将其转义以将其标记为标识符。