Use SQL keyword as alias name of a column

2020-07-18 07:28发布

问题:

I'm executing the following query but it is giving syntax error. Because the keyword key is registered in SQL

SELECT `id` AS key, `country_name` AS value FROM countries

I also tried using brackets like this but it's not working:

SELECT `id` AS [key], `country_name` AS value FROM countries

How to deal with it?

回答1:

Use backtick(`) or Single Quote(') to give alias name of column in MySQL.

Try this:

SELECT `id` AS 'key', `country_name` AS value 
FROM countries;

OR

SELECT `id` AS `key`, `country_name` AS value 
FROM countries;


回答2:

key is mysql keyword so compiler suppose as mysql keyword, you should warp by apostrophe(`) to column name

SELECT `id` AS `key`, `country_name` AS value 
FROM countries