order
ist ein reserviertes Wort in SQL; der Fall spielt keine Rolle. Es muss zitiert werden, wenn es als identifier verwendet wird. Von der MySQL Reserved Words Dokumentation:
Bestimmte Wörter wie SELECT, DELETE oder BIGINT [oder ORDER] sind reserviert und erfordern eine spezielle Behandlung für die Verwendung als Bezeichner wie Tabellen- und Spaltennamen.
Traditionelle MySQL zitiert:
SELECT * FROM posts ORDER BY `order` DESC;
Proper (ANSI) SQL quotes (einige Datenbanken unterstützen [order]
auch):
SELECT * FROM posts ORDER BY "order" DESC;
Obwohl ich hielte die Spalte umbenennen so verwirrend Probleme in der Zukunft zu vermeiden.
Glückliche Codierung!
möglich Duplikat [Wie kann ich SQL für eine Tabelle schreiben, die den gleichen Namen wie ein geschütztes Stichwort in MySql teilt?] (Http://stackoverflow.com/questions/10706920/ how-can-i-write-sql-für-eine-Tabelle-die-teilt-das-gleiche-Name-wie-ein-Schutz-Schlüsselwort) – Jocelyn