PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да използвам Rails с име на колона с главни букви?

Това не е проблем с ActiveRecord или AREL, просто така работи чувствителността към главни и малки букви в SQL и PostgreSQL.

Идентификаторите в SQL (като имена на таблици и колони) са нечувствителни към главни и малки букви, освен ако не са цитирани. Стандартният SQL казва, че идентификаторите без кавички са сгънати в главни букви, PostgreSQL ги сгъва в малки букви, следователно bar.maxusers в съобщението за грешка.

Решението е да цитирате обидното име на колона:

.having('COUNT(foo.id) > bar."maxUsers"')

Обърнете внимание, че трябва да използвате двойни кавички за кавиране на идентификатора, тъй като единичните кавички са само за низови литерали. Също така имайте предвид, че цитирането на идентификатора е специфично за базата данни:стандартните SQL и PostgreSQL използват двойни кавички, MySQL използва обратни отметки, SQL Server използва скоби, ...




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgresql ляво външно съединяване на json масив

  2. Как да добавя 2 точки с разстояние между тях (SRID =32636)?

  3. Надстройка на Slony-I 2.0.x до най-новата версия 2.1.x

  4. Надграждане от PostGIS 2.1:Грешка:опит за предефиниране на параметър postgis.backend

  5. regexp_replace Unicode в PostgreSQL