2016-12-08 14 views
1

テーブルを作成するためのDDLスクリプトの作成に問題があります。私はEMPLOYEECLIENTテーブルを作成するために、次のコードを書かれている:テーブルの作成に関するSQL構文の問題

CREATE TABLE EMPLOYEE (
    Employee_id INT NOT NULL AUTO_INCREMENT, 
    fname VARCHAR (15) NOT NULL, 
    minit VARCHAR (1), 
    lname VARCHAR (20) NOT NULL, 
    address VARCHAR (55), 
    start_date date, 
    Job_type VARCHAR (20), 
    PRIMARY KEY (Employee_id) 
); 


CREATE TABLE CLIENT (
    Client_id INT NOT NULL Auto_Increment, 
    Rest_name VARCHAR (25) NOT NULL, 
    Pri_contact_name VARCHAR (25) NOT NULL, 
    Pri_phone CHAR (13) NOT NULL, 
    Pri_email VARCHAR (35) NOT NULL, 
    Cust_addr VARCHAR (50) NOT NULL, 
    PRIMARY KEY (Client_id) 
); 

これらのテーブルは問題なく作成されます。私は次のコードでORDERテーブルを作成しようとすると、しかし、:

CREATE TABLE ORDER (
    Order_id INT NOT NULL AUTO_INCREMENT, 
    Order_Placed CHAR (10) NOT NULL, 
    Delivered_on CHAR (10) NOT NULL, 
    Total VARCHAR (8) NOT NULL, 
    Ship_addr VARCHAR (50) NOT NULL, 
    Order_status VARCHAR (35) NOT NULL, 
    PRIMARY KEY (Order_id) 
); 

私はこのエラーを受け取った:私が使用しているとき、私はこのエラーを取得していますなぜ

at line 27: 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 'ORDER ( Order_id int NOT NULL AUTO_INCREMENT,
Order_Placed char(10) NOT NULL' at line 1.

は私はわかりません前の表と同じコードです。今だけのエラーを取得するために、私はFKのうちを出て左*

はあなたが ORDERので、バッククォートを使用したいと思う

+1

ORDERが予約語です。私はあなたがそれを別のものと呼ぶことを勧めます。おそらく「命令」。 – Strawberry

答えて

3

を考え出しreserved keywordです:

CREATE TABLE `ORDER` (
    Order_id INT NOT NULL AUTO_INCREMENT, 
    Order_Placed CHAR (10) NOT NULL, 
    Delivered_on CHAR (10) NOT NULL, 
    Total VARCHAR (8) NOT NULL, 
    Ship_addr VARCHAR (50) NOT NULL, 
    Order_status VARCHAR (35) NOT NULL, 
    PRIMARY KEY (Order_id) 
); 
+0

はうまくいった!ありがとう@Daerik – houston

+0

@houstonもしあなたがあなたに役立つ答えを見つけたら、他人を助けることができるようにそれをマークしてください。 – Daerik

関連する問題