Zach
Zach

Reputation: 93

My SQL unable to create table with enum ERROR 1064

I am trying to make a table in mysql but keep getting a syntax error.

ERROR 1064 (42000): 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 '`N`,`A`,`C`) NOT NULL DEFAULT `N`,
`ship_label_status` ENUM(`N`,`R`,`Y`) NOT NUL' at line 14

The error message makes me think that there is a single quote accidentally left in but I looked through the script and couldn't find it.

CREATE TABLE IF NOT EXISTS `orders` (
    `order_id` varchar(50) NOT NULL UNIQUE,
    `customer_order_number` varchar(50),
    `fn_order_num` varchar(20),
    `ship_name` varchar(50),
    `ship_company` varchar(50),
    `ship_address1` varchar(50),
    `ship_address2` varchar(50),
    `ship_address3` varchar(50),
    `ship_city` varchar(50),
    `ship_zip` varchar(11),
    `ship_country` varchar(2),
    `email` varchar(255),
    `order_confirmed` ENUM(`N`,`A`,`C`) NOT NULL DEFAULT `N`,
    `ship_label_status` ENUM(`N`,`R`,`Y`) NOT NULL DEFAULT `N`,
    `ship_status` ENUM(`N`,`Y`) NOT NULL DEFAULT `N`,
    `ship_method` varchar(20),
    `is_priority_shipment` ENUM(`N`,`Y`) NOT NULL DEFAULT `N`,
    `is_pslip_required` ENUM(`N`,`Y`) NOT NULL DEFAULT `N`,
    `is_scheduled_delivery_shipment` ENUM(`N`,`Y`) NOT NULL DEFAULT `N`,
    `order_date` DATETIME,
    `required_ship_date` DATETIME,
    `promised_delivery_date` DATETIME,
    `tax_amount` DECIMAL(10,2),
    `is_gift` ENUM(`N`,`Y`) DEFAULT `N`,
    `selling_party` varchar(10),
    `ship_from_party` varchar(10),
    `tracking_number` varchar(255),
    PRIMARY KEY( `order_id` )
);

Upvotes: 0

Views: 1274

Answers (1)

Best Partner
Best Partner

Reputation: 397

Your should replace ` to " or '. Like this

`order_confirmed` ENUM("N","A","C") NOT NULL DEFAULT "N",

Or

`order_confirmed` ENUM('N','A','C') NOT NULL DEFAULT 'N',

Upvotes: 1

Related Questions