-2
因此,首先,下面是我的代码。当我在学校的mysql服务器上运行这个服务时,我找回了ERROR 1005(HY000)。尽管这个错误只发生在客户,订单和odetails表中。我确实收到了一些警告。从我所做的研究来看,是由于我错误地实施了innodb而导致的。任何帮助将不胜感激,特别是因为这只是这项任务的开始步骤之一。MySql问题使用ENGINE = INNODB
drop table IF EXISTS employees;
drop table IF EXISTS parts;
drop table IF EXISTS customers;
drop table IF EXISTS orders;
drop table IF EXISTS odetails;
drop table IF EXISTS zipcodes;
create table employees
(eno numeric(4,0),
ename varchar(15),
zip numeric(5,0),
hdate date default null,
primary key (eno),
foreign key (zip) references zipcodes (zip)
)ENGINE=InooDB;
create table parts
(pno numeric(5,0),
pname varchar(30),
qoh numeric(3,0),
price numeric(10,2),
level numeric(2,0),
primary key (pno)
)ENGINE=InnoDB;
create table customers
(cno numeric(4,0),
cname varchar(15),
street varchar(30),
zip numeric(5,0),
phone varchar(12),
primary key (cno),
foreign key (zip) references zipcodes (zip))
ENGINE=InnoDB;
create table orders
(ono numeric(4,0),
cno numeric(4,0),
eno numeric(4,0),
received date default null,
shipped date default null,
primary key (ono),
foreign key (cno) references customers (cno),
foreign key (eno) references employees (eno)
)ENGINE=InnoDB;
create table odetails
(ono numeric(4,0),
pno numeric(5,0),
qty numeric(1,0),
primary key (ono, pno),
foreign key (ono) references orders (ono),
foreign key (pno) references parts (pno)
)ENGINE=InnoDB;
create table zipcodes
(zip numeric(5,0),
city varchar(15),
primary key (zip)
)ENGINE=InnoDB;
请阅读[问]并在您的问题中包含所有相关的错误和警告。也就是说,您的客户表通过外键引用zipcodes表,外键仅在此脚本的末尾创建,并且错误和警告均与该问题级联。 – CodeCaster
你有一个错字“InooDB”。你的数据类型也有点不标准。拍摄一个简单的简“INT”,而不是PK(和其他异常,如您的邮编)上的十进制(n,m) – Drew
哇,所有来自打字错误。切换到使用INT。还要感谢关于移动邮编的建议,忘记了这一点。谢谢你们,我真的很感激。 –