-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。還要感謝關於移動郵編的建議,忘記了這一點。謝謝你們,我真的很感激。 –