问题用关系创建简单数据库

时间:2016-05-19 17:31:02

标签: mysql database

美好的一天!

我正在尝试为项目创建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)
);

所以,我的问题是:

  1. 我的代码中出现了什么错误,我该怎么办?
  2. 我应该删除或添加任何我忘记的内容吗?
  3. 感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

你的问题是,关键字Order是在mySQL中预先定义的。因此,当您尝试创建名称为订单的表时,SQL会将其解释为订购一组所选数据的命令。 (例如SELECT * FROM TABLE ORDER BY column) 这就是您收到此错误的原因。

尝试给桌子另一个名字,你会没事的;)