Search code examples
mysqlcreate-table

How to use special characters in MySQL column names?


Here is my failing MySQL code:

CREATE TABLE product (
            id int NOT NULL AUTO_INCREMENT,
            'item-name' VARCHAR(255) NOT NULL,
            'item-description' TEXT,
            'listing-id' VARCHAR(50),
            PRIMARY KEY (id)
        )

The error is:

Error creating table: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
'item-name' VARCHAR(255) NOT NULL, 'item-description' TEXT, 'listing-id'' at line 3

The documentation says to use quotes... What is wrong?


Solution

  • Use ` instead of ':

    CREATE TABLE product (
            id int NOT NULL AUTO_INCREMENT,
            `item-name` VARCHAR(255) NOT NULL,
            `item-description` TEXT,
            `listing-id` VARCHAR(50),
            PRIMARY KEY (id)
        )