MySQL, безопасно используя зарезервированное слово в запросе

Мне нужно вернуть многомерный массив из запроса с помощью ключей ключа с именем key . (необходимо для ключей объектов в амазонке S3 API)

пример:

 Array ( [0] => Array ( [key] => 8 ) [1] => Array ( [key] => 7 ) [2] => Array ( [key] => 6 ) ) 

Проблема: key – это зарезервированное имя в MySQL. Я должен использовать ключ имени.

Следующий запрос дает ошибку

 SELECT `file_name` AS key FROM (`uploads`) 

но добавление backticks вокруг key не дает ошибок

 SELECT `file_name` AS `key` FROM (`uploads`) 

Безопасно ли продолжать это или есть лучший способ? Я думал переименовать ключ id в массиве в PHP, но делать это в запросе быстрее

Как указано, используйте обратные ссылки.

Из документов MYSQL

Зарезервированные слова разрешены в качестве идентификаторов, если вы их цитируете, как описано в разделе 9.2 «Имена объектов схемы»:

 mysql> CREATE TABLE interval (begin INT, end INT); ERROR 1064 (42000): You have an error in your SQL syntax ... near 'interval (begin INT, end INT)' mysql> CREATE TABLE `interval` (begin INT, end INT); Query OK, 0 rows affected (0.01 sec) 

Чтобы быть вдали от зарезервированного ключевого слова вокруг поля таблицы в запросе, всегда считалось наилучшим способом … Если вы используете зарезервированное ключевое слово в запросе, то backtick позволяет вам использовать зарезервированное ключевое слово …

Поскольку backtick не определен в ANSI SQL , это, вероятно, создаст проблему при переносе из среды MySQL …