首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL错误代码1215

MySQL错误代码1215
EN

Stack Overflow用户
提问于 2016-06-14 19:27:23
回答 1查看 51关注 0票数 0

我有以下模式: WilliamsSCW和我一直在出错: 1215不能为Billing表添加外键约束。

请帮帮忙。我该怎么办?

代码语言:javascript
复制
Create database WilliamsSCW;

Create table WilliamsSCW.Login
(
UserName varchar(50) Not Null Primary Key,
Password varchar(50) Not Null);

Create table WilliamsSCW.Employee
(
employeeID int(8) Not Null Primary Key,
employeeFName varchar(25),
employeeLName varchar(25));

Create table WilliamsSCW.Customer
(
custID int(8) Not Null Primary Key,
custFName varchar(25),
custLName varchar(25),
custAddress varchar(30),
custCity varchar(30),
custState varchar(30),
custZip int(5),
custPhone BIGINT(10),
custEmail text);

Create table WilliamsWSC.Order1  #order is a reserved key word in MySQL and can't be used
(
orderID int(20) Not Null Primary Key,
orderDesc varchar(30),
orderType varchar(20),
orderCost int(10),
orderQuantity int(6),
orderContent text,
orderStatus varchar(10),
orderDate TimeStamp,
orderShipDate Date,
orderDeposit decimal(10,2),
mediaID BIGINT(20),
custID int(8),
employeeID int(8),
foreign key(mediaID) REFERENCES Media_Catalog(mediaID) ON UPDATE CASCADE ON DELETE CASCADE,
foreign key(custID) REFERENCES Customer(custID) ON UPDATE CASCADE ON DELETE CASCADE,
foreign key(employeeID) REFERENCES Employee(employeeID) ON UPDATE CASCADE ON DELETE CASCADE);

Create table WilliamsSCW.Billing
(
billingID int(8) Not Null Primary Key,
billingDate TimeStamp Not Null,
billDeposit decimal(10,2),
billAmt int(8),
employeeID int(8),
custID int(8),
orderID int(20),
foreign key(employeeID) REFERENCES Employee(employeeID) ON UPDATE CASCADE ON DELETE CASCADE,
foreign key(custID) REFERENCES Customer(custID) ON UPDATE CASCADE ON DELETE CASCADE,
foreign key(orderID) REFERENCES Order1(orderID) ON UPDATE CASCADE ON DELETE CASCADE);

Create table WilliamsSCW.Media_Catalog
(
mediaID BIGINT(20) Not Null Primary Key,
mediaCatalog varchar(30),
mediaPrice decimal(10,2),
mediaDesc text,
mediaJob varchar(20),
mediaAmntStock int(10));

Create table WilliamsSCW.Reason
(
onholdID int(20) Not Null Primary Key,
onholdDesc varchar(100),
orderID int(20),
foreign key (orderID) REFERENCES Order1(orderID) ON UPDATE CASCADE ON DELETE CASCADE);

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-14 19:54:26

您必须将WilliamsSCW.Media_Catalog的DDL放在Order1之前:

代码语言:javascript
复制
Create database WilliamsSCW;

Create table WilliamsSCW.Login
(
UserName varchar(50) Not Null Primary Key,
Password varchar(50) Not Null);

Create table WilliamsSCW.Employee
(
employeeID int(8) Not Null Primary Key,
employeeFName varchar(25),
employeeLName varchar(25));

Create table WilliamsSCW.Customer
(
custID int(8) Not Null Primary Key,
custFName varchar(25),
custLName varchar(25),
custAddress varchar(30),
custCity varchar(30),
custState varchar(30),
custZip int(5),
custPhone BIGINT(10),
custEmail text);

Create table WilliamsSCW.Media_Catalog
(
mediaID BIGINT(20) Not Null Primary Key,
mediaCatalog varchar(30),
mediaPrice decimal(10,2),
mediaDesc text,
mediaJob varchar(20),
mediaAmntStock int(10));

Create table WilliamsSCW.Order1  #order is a reserved key word in MySQL and can't be used
(
orderID int(20) Not Null Primary Key,
orderDesc varchar(30),
orderType varchar(20),
orderCost int(10),
orderQuantity int(6),
orderContent text,
orderStatus varchar(10),
orderDate TimeStamp,
orderShipDate Date,
orderDeposit decimal(10,2),
mediaID BIGINT(20),
custID int(8),
employeeID int(8),
foreign key(mediaID) REFERENCES Media_Catalog(mediaID) ON UPDATE CASCADE ON DELETE CASCADE,
foreign key(custID) REFERENCES Customer(custID) ON UPDATE CASCADE ON DELETE CASCADE,
foreign key(employeeID) REFERENCES Employee(employeeID) ON UPDATE CASCADE ON DELETE CASCADE);

Create table WilliamsSCW.Billing
(
billingID int(8) Not Null Primary Key,
billingDate TimeStamp Not Null,
billDeposit decimal(10,2),
billAmt int(8),
employeeID int(8),
custID int(8),
orderID int(20),
foreign key(employeeID) REFERENCES Employee(employeeID) ON UPDATE CASCADE ON DELETE CASCADE,
foreign key(custID) REFERENCES Customer(custID) ON UPDATE CASCADE ON DELETE CASCADE,
foreign key(orderID) REFERENCES Order1(orderID) ON UPDATE CASCADE ON DELETE CASCADE);

Create table WilliamsSCW.Reason
(
onholdID int(20) Not Null Primary Key,
onholdDesc varchar(100),
orderID int(20),
foreign key (orderID) REFERENCES Order1(orderID) ON UPDATE CASCADE ON DELETE CASCADE);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37820524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档