Mysql订单id错误

Mysql订单id错误,mysql,Mysql,我正在为我们在大学的项目制作一个数据库。我得到一个错误: CREATE DATABASE P4_Projekt USE P4_Projekt CREATE TABLE shop_table ( Shop_ID INT (12) NOT NULL AUTO_INCREMENT, Shop_name VARCHAR (30) NOT NULL, City VARCHAR (30) NOT NULL, Address VARCHAR (50) NOT NULL, Zip_code INT (4) NO

我正在为我们在大学的项目制作一个数据库。我得到一个错误:

CREATE DATABASE P4_Projekt
USE P4_Projekt
CREATE TABLE shop_table
(
Shop_ID INT (12) NOT NULL AUTO_INCREMENT,
Shop_name VARCHAR (30) NOT NULL,
City VARCHAR (30) NOT NULL,
Address VARCHAR (50) NOT NULL,
Zip_code INT (4) NOT NULL,
Phone_number CHAR (8) NOT NULL,
PRIMARY KEY (Shop_id)
)

CREATE TABLE Orders
(
Order_id INT (12) NOT NULL AUTO_INCREMENT,
Customer_id INT (12) NOT NULL,
Pickup_time DATETIME NOT NULL,
Products_id INT (12) NOT NULL,
CONSTRAINT Orders_Product_id_fk
FOREIGN KEY (Product_id)
REFERENCES Products (Product_id),
Notes VARCHAR (250),
Price FLOAT (8) NOT NULL,
Pre_paid BOOLEAN NOT NULL,
Status_ TINYINT (2) NOT NULL,
PRIMARY KEY (Order_id)
)

CREATE TABLE User
(
User_id INT (12) NOT NULL AUTO_INCREMENT,
First_name VARCHAR (20) NOT NULL,
Last_name VARCHAR (30) NOT NULL,
Address VARCHAR (50) NOT NULL,
ZIP_code INT (4) NOT NULL,
Phone_number CHAR (8) NOT NULL,
Email VARCHAR (50),
PRIMARY KEY (User_id)
)

CREATE TABLE Products
(
Product_id INT (12) NOT NULL AUTO_INCREMENT,
Name_ VARCHAR (40) NOT NULL,
Price FLOAT (8) NOT NULL,
Description VARCHAR (250) NOT NULL,
Production_time TIME (6) NOT NULL,
IMG BLOB,
PRIMARY KEY (Product_id)
)

当我尝试创建订单表时,出现错误“表中不存在键列'product\u id'。是关于外键的吗?

如果主键行前缺少一个逗号,这样的更改可以正常工作

CREATE TABLE Orders
(
Order_id INT (12) NOT NULL AUTO_INCREMENT,
Customer_id INT (12) NOT NULL,
Pickup_time DATETIME NOT NULL,
Products_id INT (12) NOT NULL,
CONSTRAINT Orders_Product_id_fk
FOREIGN KEY (Product_id)
REFERENCES Products (Product_id),
Notes VARCHAR (250),
Price FLOAT (8) NOT NULL,
Pre_paid BOOLEAN NOT NULL,
Status_ TINYINT (2) NOT NULL,
PRIMARY KEY (Order_id)
)

逗号错误,用这个

CREATE TABLE Orders
 (
  Order_id INT (12) NOT NULL AUTO_INCREMENT,
  Customer_id INT (12) NOT NULL,
 Pickup_time DATETIME NOT NULL,
 Products_id INT (12) NOT NULL,
 CONSTRAINT Orders_Product_id_fk
 FOREIGN KEY (Product_id)
 REFERENCES Products (Product_id),
  Notes VARCHAR (250),
 Price FLOAT (8) NOT NULL,
Pre_paid BOOLEAN NOT NULL,
Status_ TINYINT (2) NOT NULL, 
 PRIMARY KEY (Order_id)
  )

在每个结束表后使用分号


MySQL不在乎这个,如果你在每个表后面使用分号,就像他的例子一样,你很容易发现问题。ups,我的意思是MySQL工作台不在乎分号。我仍然会得到同样的错误
CREATE TABLE User(
User_id INT (12) NOT NULL AUTO_INCREMENT,
First_name VARCHAR (20) NOT NULL,
Last_name VARCHAR (30) NOT NULL,
Address VARCHAR (50) NOT NULL,
ZIP_code INT (4) NOT NULL,
Phone_number CHAR (8) NOT NULL,
Email VARCHAR (50),
PRIMARY KEY (User_id)
);