加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails-3 – 为什么Rails ActiveRecord最后一个方法按id

发布时间:2020-12-17 02:01:51 所属栏目:百科 来源:网络整理
导读:根据 this,ActiveRecord首先生成SQL: SELECT * FROM clients LIMIT 1 而ActiveRecord最后生成SQL: SELECT * FROM clients ORDER BY clients.id DESC LIMIT 1 根据我的观点,首先的行为是不正确的,而最后的行为是.如果未指定排序,则简单SELECT将以任意或不可
根据 this,ActiveRecord首先生成SQL:

SELECT * FROM clients LIMIT 1

而ActiveRecord最后生成SQL:

SELECT * FROM clients ORDER BY clients.id DESC LIMIT 1

根据我的观点,首先的行为是不正确的,而最后的行为是.如果未指定排序,则简单SELECT将以任意或不可预测的顺序返回.因此,首先不保证始终返回相同的记录(如果不是最小id的记录).

有没有人知道,为什么Rails ActiveRecord会这样工作?

提前致谢
Panayotis

解决方法

由于我在这篇文章中没有得到任何答案,我试图在其他论坛上找到其他人的答案.我相信ActiveRecord(或mysql gem)有一个bug.里克詹姆斯说,如果我们想获得最低身份证,我们应该使用有限制的命令. Here is his answer:

http://forums.mysql.com/read.php?22,530514#msg-530514

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读