我正在尝试为项目创建Internet Book Store数据库,但我遇到了错误,我无法找到。
错误1064(42000):您的SQL语法有错误;检查 手册,对应右边的MySQL服务器版本 在' Order附近使用的语法(orderID INT AUTO_INCREMENT PRIMARY KEY, customerID INT,courierID INT,o'在第1行
这是我想要制作的数据库。
Create database veikals;
CREATE TABLE Customer (
customerID INT AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
tel_number VARCHAR(8) NOT NULL,
email VARCHAR(50) NOT NULL,
postal_code VARCHAR(4) NOT NULL,
Adress VARCHAR (255) NOT NULL
);
CREATE TABLE Courier (
courierID INT AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
tel_number VARCHAR(8) NOT NULL
);
到目前为止,一切正常,但在此代码部分之后,MYSQL发现错误。
CREATE TABLE Order (
orderID INT AUTO_INCREMENT PRIMARY KEY,
customerID INT,
courierID INT,
order_date DATE,
reacive_date DATE,
payment_method VARCHAR(20) NOT NULL,
recieve_adress VARCHAR(255) NOT NULL,
Foreign key (customerID) references Customer(customerID),
Foreign key (courierID) references Courier(courierID)
);
这是数据库的最后两部分,我还没有测试过,它们可以解决吗?
CREATE TABLE Books (
ISBN VARCHAR(30) PRIMARY KEY,
Genre VARCHAR(20),
Title VARCHAR(255),
author_name VARCHAR(30),
author_surename VARCHAR(30),
publisher VARCHAR(255),
published date,
price DECIMAL(10,2)
);
CREATE TABLE Cart (
orderID Int PRIMARY KEY,
ISBN VARCHAR(30) PRIMARY KEY,
amount Int,
Foreign key (orderID) references Order(orderID),
Foreign key (ISBN) references Books(ISBN)
);
所以,我的问题是:
感谢您的帮助。
答案 0 :(得分:3)
你的问题是,关键字Order
是在mySQL中预先定义的。因此,当您尝试创建名称为订单的表时,SQL会将其解释为订购一组所选数据的命令。 (例如SELECT * FROM TABLE ORDER BY column
)
这就是您收到此错误的原因。
尝试给桌子另一个名字,你会没事的;)