0

我正在学习使用 phpmyadmin 并且有一个数据库 tshirtshop 有一个表部门现在我想创建一个类别表但是 phpmyadmin 中的 sql 给我错误以下是 SQL 查询

CREATE TABLE 'category' ( 
'category_id' INT NOT NULL AUTO_INCREMENT, 
'department_id' INT NOT NULL, 
'name' VARCHAR(100) NOT NULL, 
'description' VARCHAR(1000), 
PRIMARY KEY ('category_id'), 
KEY 'idx_category_department_id' ('department_id') 
) ENGINE=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 ''category' ( 'category_id' INT NOT NULL AUTO_INCREMENT, 'department_id' INT NOT ' at line 1

我应该怎么做才能消除错误?

4

2 回答 2

2

正确的查询是

CREATE TABLE `category` ( 
  `category_id` INT NOT NULL AUTO_INCREMENT, 
  department_id INT NOT NULL, 
  name VARCHAR(100) NOT NULL, 
  description VARCHAR(1000), 
  PRIMARY KEY (`category_id`), 
  KEY `idx_category_department_id` (`department_id`) 
) ENGINE=MyISAM; 

您不能使用单引号将字段名或表名括起来,要么使用倾斜`,要么不使用任何东西。在我的查询中,我尝试使用两者来向您展示。

于 2013-06-15T08:37:20.177 回答
1

尝试将转义字符从 ' 更改为 ` 。MySQL 认为你的对象名称是字符串。

CREATE TABLE `category` ( 
`category_id` INT NOT NULL AUTO_INCREMENT, 
`department_id` INT NOT NULL, 
`name` VARCHAR(100) NOT NULL, 
`description` VARCHAR(1000), 
PRIMARY KEY (`category_id`), 
KEY `idx_category_department_id` (`department_id`) 
) ENGINE=MyISAM; 
于 2013-06-15T08:36:25.750 回答