错误消息:image
我正在使用phpmyadmin。我单击了没有表的数据库,因此单击了导入以加载我的database.sql。完成加载后,显示错误。
(SQL查询数据包含虚假信息。不会暴露任何个人信息。)
无法添加外键约束
仔细阅读,我无法发现问题。我不确定如何解决此问题。
SQL查询:
CREATE TABLE Customer
(
CustomerID INT NOT NULL,
Firstname varchar(50),
Surname varchar(50),
Gender char(1) NOT NULL,
Age int(5),
Email varchar(320) NOT NULL,
Phone varchar(15),
Address varchar(95),
Sales_PersonID INT NOT NULL,
CONSTRAINT pk_customer_customerid PRIMARY KEY (CustomerID),
CONSTRAINT fk_sales_person_id_sales_person_id FOREIGN KEY (Sales_PersonID) REFERENCES sales_person (Sales_PersonID)
);
CREATE TABLE Staff
(
StaffID INT NOT NULL,
Salary DECIMAL (12,4),
Firstname varchar(50) NOT NULL,
Surname varchar(50) NOT NULL,
Phone varchar(15) NOT NULL,
CONSTRAINT pk_staff_staffid PRIMARY KEY (StaffID)
);
CREATE TABLE Sales_Person
(
Sales_PersonID INT NOT NULL,
Commission FLOAT (7,4),
Firstname varchar(50) NOT NULL,
Surname varchar(50) NOT NULL,
Phone varchar(15) NOT NULL,
CONSTRAINT pk_sales_person_sales_personid PRIMARY KEY (Sales_PersonID)
);
CREATE TABLE Supplier
(
SupplierID INT NOT NULL,
Name varchar(50),
Address varchar(95),
CONSTRAINT pk_supplier_supplierid PRIMARY KEY (SupplierID)
);
CREATE TABLE Supplier_Part
(
SupplierID INT NOT NULL,
PartID INT NOT NULL,
Name varchar(50),
CONSTRAINT fk_supplier_supplierid FOREIGN KEY (SupplierID) REFERENCES supplier (SupplierID),
CONSTRAINT fk_customer_customerid FOREIGN KEY (PartID) REFERENCES customer (CustomerID)
);
CREATE TABLE Product
(
ProductID INT NOT NULL,
Type varchar(50) NOT NULL,
Description varchar(400),
Quantity int(5),
Price DECIMAL (12,4),
CONSTRAINT pk_product_productid PRIMARY KEY (ProductID)
);
CREATE TABLE Product_Part
(
PartID INT NOT NULL,
ProductID INT NOT NULL,
CONSTRAINT fk_part_partid FOREIGN KEY (PartID) REFERENCES part (PartID),
CONSTRAINT fk_product_productid FOREIGN KEY (ProductID) REFERENCES product (ProductID)
);
CREATE TABLE Part
(
PartID INT NOT NULL,
ProductID INT NOT NULL,
Name varchar(50) NOT NULL,
CONSTRAINT pk_part_partid PRIMARY KEY (PartID),
CONSTRAINT fk_product_productid FOREIGN KEY (ProductID) REFERENCES product (ProductID)
);
CREATE TABLE Assembling
(
ProductID INT NOT NULL,
StaffID INT NOT NULL,
CONSTRAINT fk_product_productid FOREIGN KEY (ProductID) REFERENCES product (ProductID),
CONSTRAINT fk_staff_staffid FOREIGN KEY (StaffID) REFERENCES part (StaffID)
);
CREATE TABLE Orders
(
OrdersID INT NOT NULL,
CustomerID INT NOT NULL,
ProductID INT NOT NULL,
DATE,
CONSTRAINT pk_orders_ordersid PRIMARY KEY (OrdersID),
CONSTRAINT fk_customer_customerid FOREIGN KEY (CustomerID) REFERENCES customer (CustomerID),
CONSTRAINT fk_product_productid FOREIGN KEY (ProductID) REFERENCES product (ProductID)
);
CREATE TABLE Orders_Line
(
Orders_LineID INT NOT NULL,
OrdersID INT NOT NULL,
ProductID INT NOT NULL,
DATE,
CONSTRAINT pk_orders_line_orders_lineid PRIMARY KEY (Orders_LineID),
CONSTRAINT fk_orders_ordersid FOREIGN KEY (OrdersID) REFERENCES orders (OrdersID),
CONSTRAINT fk_product_productid FOREIGN KEY (ProductID) REFERENCES product (ProductID)
);
INSERT into Customer (CustomerID,Firstname, Surname, Gender, Age, Email, Phone, Address,Sales_PersonID)
VALUES
(
'1',
'John',
'Smith',
'M',
'21',
'[email protected]',
'07428-266658',
'24 Church Street LIVERPOOL L64 3UD',
'1'
);
INSERT into Customer (CustomerID,Firstname, Surname, Gender, Age, Email, Phone, Address,Sales_PersonID)
VALUES
(
'2',
'Mike',
'Dane',
'M',
'32',
'[email protected]',
'07223295638',
'48 Manor Road EAST LONDON E44 6ET',
'2'
);
INSERT into Customer (CustomerID,Firstname, Surname, Gender, Age, Email, Phone, Address,Sales_PersonID)
VALUES
(
'3',
'Jane',
'Doe',
'F',
'20',
'[email protected]',
'07339217698',
'61 Windsor Road NORWICH NR12 3HE',
'3'
);
INSERT into Customer (CustomerID,Firstname, Surname, Gender, Age, Email, Phone, Address,Sales_PersonID)
VALUES
(
'4',
'David',
'West',
'M',
'43',
'[email protected]',
'07217477352',
'99 Park Lane BRISTOL BS1 6IN',
'4'
);
INSERT into Customer (CustomerID,Firstname, Surname, Gender, Age, Email, Phone, Address,Sales_PersonID)
VALUES
(
'5',
'Kelvin',
'Wiley',
'M',
'19',
'[email protected]',
'07218298628',
'83 Broadway NORTHAMPTON NN80 9ZJ',
'1'
);
INSERT into Sales_Person (Sales_PersonID,Firstname, Surname, Phone)
VALUES
(
'1',
'Sara',
'Robins',
'7700900011'
);
INSERT into Sales_Person (Sales_PersonID,Firstname, Surname, Phone)
VALUES
(
'2',
'Sara',
'Robins',
'7255586066'
);
INSERT into Sales_Person (Sales_PersonID,Firstname, Surname, Phone)
VALUES
(
'3',
'Jamilia',
'Hanson',
'7355513187'
);
INSERT into Sales_Person (Sales_PersonID,Firstname, Surname, Phone)
VALUES
(
'4',
'Ashlyn',
'Mccoy',
'7700900798'
);
INSERT into Staff (StaffID,Firstname, Surname, Phone)
VALUES
(
'1',
'Harley',
'Jeffery',
'0734911769'
);
INSERT into Staff (StaffID,Firstname, Surname, Phone)
VALUES
(
'2',
'Manisha',
'Jacobs',
'0732921469'
);
INSERT into Staff (StaffID,Firstname, Surname, Phone)
VALUES
(
'3',
'Amie',
'Hough',
'0732928869'
);
INSERT into Staff (StaffID,Firstname, Surname, Phone)
VALUES
(
'4',
'Kailan',
'Tate',
'0793921769'
);
INSERT into Staff (StaffID,Firstname, Surname, Phone)
VALUES
(
'5',
'Franklin',
'Halliday',
'0723921169'
);
INSERT into Staff (StaffID,Firstname, Surname, Phone)
VALUES
(
'6',
'Kiyan',
'Yoder',
'0733941762'
);
INSERT into Staff (StaffID,Firstname, Surname, Phone)
VALUES
(
'7',
'Michaela',
'Dupont',
'0731981769'
);
INSERT into Staff (StaffID,Firstname, Surname, Phone)
VALUES
(
'8',
'Alexa',
'Pratt',
'0732919769'
);
INSERT into Staff (StaffID,Firstname, Surname, Phone)
VALUES
(
'9',
'Denis',
'Beard',
'0763924767'
);
INSERT into Staff (StaffID,Firstname, Surname, Phone)
VALUES
(
'10',
'Carley',
'Lawson',
'0738921765'
);
INSERT into Supplier (SupplierID, Name, Address)
VALUES
(
'1',
'Bozti',
'Bozti, Pikes Hill Avenue, Lyndhurst",SO43 7AX'
);
INSERT into Product (ProductID,Type, Description, Quantity, Price)
VALUES
(
'1',
'Deluxe Re-creation',
'A coating film for intensity, and sensuous oils. The impoved film for long-lasting effectiveness.',
'25',
'650'
);
INSERT into Product (ProductID,Type, Description, Quantity, Price)
VALUES
(
'2',
'Regular care',
'Our bestselling essentials.',
'25',
'25.99'
);
如上所述,Dave首先尝试创建所有表,将外键称为sales_person表时,都会出现错误,但表名实际上称为Sales_Person。
REFERENCES Sales_Person(Sales_PersonID)
应该做到这一点。