Sup*_*ver 2 activerecord ruby-on-rails rails-activerecord
在 Rails ActiveRecord 中,当我执行类似操作event_instances.order(:created_at)
并且未指定任何顺序时,哪个顺序是默认顺序DESC
还是ASC
?
提前致谢。
根据Rails 的用户手册,当您指定符号时,排序设置为ASC
,当字符串时,指定由数据库设置的默认顺序:
User.order(:name)
=> SELECT "users".* FROM "users" ORDER BY "users"."name" ASC
User.order('name')
=> SELECT "users".* FROM "users" ORDER BY name
Run Code Online (Sandbox Code Playgroud)
DB 中的排序顺序:
为了Postgres
:
ASC 顺序是默认顺序。
为了MySQL 5.7
:
默认为升序;这可以使用 ASC 关键字显式指定。
为了SQLite
:
如果未指定 ASC 或 DESC,则默认情况下按升序(较小的值在前)对行进行排序。
因此,对于所有主要数据库,默认顺序是ASC
归档时间: |
|
查看次数: |
3298 次 |
最近记录: |