如何修复SQLite3 :: SQLException:在“至”附近:语法错误:SELECT“”。* FROM“” WHERE“”。“” =? AND(到<'[Time.now]')LIMIT?抵消?

时间:2019-08-16 22:56:59

标签: sql ruby-on-rails sqlite syntax-error

我正在开发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的更多信息,但这没用,可能是因为我对它们的用途没有很好的了解。

1 个答案:

答案 0 :(得分:1)

将其更改为

@conferences = @conferences.where("\"to\" < ?", Time.now)

to是SQL中的保留关键字。如果要将其用作列名,则必须使用双引号将其转义以将其标记为标识符。