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; 

フィールド名またはテーブル名を一重引用符で囲むことはできません。tilt ` を使用するか、何も使用しないでください。私のクエリでは、表示するためだけに両方を使用しようとしています。

于 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 に答える