mysql - Rails 如何检查 sql 查询生成的内容

标签 mysql sql ruby-on-rails

此查询不会产生错误,但我很确定 EXTRACT(EPOCH FROM relationships.created_at) 没有按预期执行。

last_check = @user.last_check.to_i
@new_relationships = User.select('"rels_unordered".*')
                         .from("(#{@rels_unordered.to_sql}) AS rels_unordered")
                         .joins("
                    INNER JOIN  relationships
                    ON          rels_unordered.id = relationships.character_id
                    WHERE       EXTRACT(EPOCH FROM relationships.created_at) > #{last_check}
                    GROUP BY    relationships.created_at
                    ORDER BY    relationships.created_at DESC
                    ")

我如何准确检查 EXTRACT(EPOCH FROM relationships.created_at) 正在生成什么?服务器日志不显示它,它们只是重复查询。 (至少日志确实显示 #{last_check} 正确地生成了一个像 1471364015 这样的数字,这就是为什么我认为问题出在纪元代码上。)

最佳答案

我会去 mysql 试试看:

SELECT EXTRACT(EPOCH FROM relationships.created_at) FROM relationships limit 0,1;

看看你会得到什么样的答案。如果需要,更改以上内容以指定特定记录。

更大的问题可能是EPOCH参数;我不确定它是否有效。请参阅 EXTRACT 的 mySQL 引用及其 parameters .

关于mysql - Rails 如何检查 sql 查询生成的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38981057/

相关文章:

ruby-on-rails - 超时、系统超时和终止符不适用于基于 FFI 的功能

mysql - 将 WordPress 从 WAMP 上传到 GoDaddy 时出现数据库错误(无法本地访问网站)

sql - 使用数据库/sql 时如何获取返回的行数?

c# - HibernateException : Could not create the driver from NHibernate. 驱动程序.MySqlDataDriver

sql - 如何解决在 Microsoft SQL 中使用 xp_cmdshell 时出现的 "Access is denied"错误?

sql - PostgreSQL 在行中找到不一致的记录

ruby-on-rails - 阻止某些属性更新?

ruby-on-rails - 在 Rails 中使用 View 检查数组

sql - 有没有办法自动化执行一系列SQL处理脚本?

php - 在多个选项标签(列表/菜单)中设置类 ='selected '