2012-03-14 75 views
0

我想创建一个产品表上运行下面的SQL查询:SQL产品表创建 - 语法错误

CREATE TABLE ‘products’ (
    ‘id’ INT NOT NULL AUTO_INCREMENT , 
    ‘name’ VARCHAR(255) NOT NULL , 
    ‘shortdesc’ VARCHAR(255) NOT NULL , 
    ‘longdesc’ TEXT NOT NULL , 
    ‘thumbnail’ VARCHAR(255) NOT NULL , 
    ‘image’ VARCHAR(255) NOT NULL , 
    ‘sizes’ ENUM(‘s’, ‘m’, ‘l’, ‘xl’) NOT NULL , 
    ‘colors’ ENUM(‘red’, ‘blue’, ‘green’, ‘brown’, ‘white’, ‘black’) NOT NULL , 
    ‘grouping’ VARCHAR(16) NOT NULL , 
    ‘status’ ENUM(‘active’, ‘inactive’) NOT NULL , 
    ‘category_id’ INT NOT NULL , 
    ‘featured’ ENUM (‘true’, ‘false’) NOT NULL, 
    ‘price’ FLOAT(4, 2) NOT NULL, 
PRIMARY KEY (‘id’) 
) TYPE = MYISAM ; 

但出现此错误:

#1064 - 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 '‘s’, ‘m’, ‘l’, ‘xl’) NOT NULL , ‘colors’ ENUM(‘red’, ' at line 8 

我应该使用哪种类型?我正在以一本书为例。

回答

2

工作,有的玩,我想我可以说的是,扔它关闭'字符之后。我跑这没有问题:

CREATE TABLE `products2` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `name` varchar(255) NOT NULL, 
    `sizes` enum('s','m','l','xl') NOT NULL, 
    `colors` enum('red','blue','green','brown','white','black') NOT NULL, 
    `shortdesc` varchar(255) NOT NULL, 
    `longdesc` text NOT NULL, 
    `thumbnail` varchar(255) NOT NULL, 
    `image` varchar(255) NOT NULL, 
    `grouping` varchar(16) NOT NULL, 
    `status` enum('active','inactive') NOT NULL, 
    `category_id` int(11) NOT NULL, 
    `featured` enum('true','false') NOT NULL, 
    `price` float(4,2) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 
+0

谢谢!这是问题,它现在正在工作:) – m1243 2012-03-15 00:11:37

+0

太棒了!继续接受詹姆斯的回答(他是第一个发布的)。 – ScottJShea 2012-03-15 00:13:03

2

使用反引号和撇号,而不是弯引号似乎为我

CREATE TABLE `products` (
`id` INT NOT NULL AUTO_INCREMENT , 
`name` VARCHAR(255) NOT NULL , 
`shortdesc` VARCHAR(255) NOT NULL , 
`longdesc` TEXT NOT NULL , 
`thumbnail` VARCHAR(255) NOT NULL , 
`image` VARCHAR(255) NOT NULL , 
`sizes` ENUM('s', 'm', 'l', 'xl') NOT NULL , 
`colors` ENUM('red', 'blue', 'green', 'brown', 'white', 'black') NOT NULL , 
`grouping` VARCHAR(16) NOT NULL , 
`status` ENUM('active', 'inactive') NOT NULL , 
`category_id` INT NOT NULL , 
`featured` ENUM ('true', 'false') NOT NULL, 
`price` FLOAT(4, 2) NOT NULL, 
PRIMARY KEY (`id`) 
) ENGINE = MYISAM ;