Ich benutze Rails 5 und Postgres.Muss ich eine Art Index verwenden, um WHERE in Rails5 ActiveRecord zu verwenden?
Ich habe eine Tabelle ZipRanges mit den Spalten id, region_id, von, nach
Ich möchte alle Zeilen auswählen, in dem eine bestimmte Postleitzahl zwischen von und zu ist.
zip = 1234
ZipRange.where("from < ?", zip).where("to > ?", zip)
bekomme ich folgende Fehlermeldung:
ActiveRecord::StatementInvalid (PG::SyntaxError: ERROR: syntax error at or near "from"
Muss ich eine Art von Index verwenden, um diese Abfrage zu machen?
Ich habe andere Abfragen ausprobiert und sie funktionieren gut. Zum Beispiel:
ZipRange.where("region_id = ?", 1)
'ZipRange.where (zip: 1..100)' erstellt 'WHERE zip ZWISCHEN 1 UND 100 ', die leistungsfähiger sein kann. – max
Der Hinweis mit den reservierten Wörtern war großartig. Ich habe gerade meine Spaltennamen geändert. Bitte beachten Sie, dass ich keine Spalte zip habe und die Zeile suchen möchte, in der zip zwischen zwei Werten liegt. Die Tabelle hat die Spalten von und bis und ich möchte die Zeile finieren, wo diese zwei Spalten größer und kleiner als eine gegebene Postleitzahl sind. – almo
Ahh, ich habe mit einer Abfrage bearbeitet, um genau das zu tun. – Iceman