MySQL错误1005
对,所以代码是这样的:MySQL错误1005,mysql,sql,mysql-error-1005,Mysql,Sql,Mysql Error 1005,对,所以代码是这样的: CREATE TABLE Seller ( sID INT AUTO_INCREMENT PRIMARY KEY, sName CHAR (10), sAddress CHAR (30) )ENGINE = INNODB; CREATE TABLE Sale ( sID INT AUTO_INCREMENT, iName CHAR(10), CONSTRAINT sa_pk PRIMARY KEY (sID, iName), CONSTRAINT sa_
CREATE TABLE Seller (
sID INT AUTO_INCREMENT
PRIMARY KEY,
sName CHAR (10),
sAddress CHAR (30)
)ENGINE = INNODB;
CREATE TABLE Sale (
sID INT AUTO_INCREMENT,
iName CHAR(10),
CONSTRAINT sa_pk
PRIMARY KEY (sID, iName),
CONSTRAINT sa_fk1
FOREIGN KEY (sID)
REFERENCES Seller (sID)
ON UPDATE CASCADE,
CONSTRAINT sa_fk2
FOREIGN KEY (iName)
REFERENCES Item (iName)
ON UPDATE CASCADE
)ENGINE = INNODB;
CREATE TABLE Item (
iPrice REAL,
iStock INT,
iName CHAR(10)
PRIMARY KEY,
iDescription CHAR (30)
)ENGINE = INNODB;
CREATE TABLE Copy (
oQuantity INT,
iName CHAR(10),
CONSTRAINT co_pk
PRIMARY KEY (oQuantity, iName),
CONSTRAINT co_fk1
FOREIGN KEY (oQuantity)
REFERENCES Orders (oQuantity)
ON UPDATE CASCADE,
CONSTRAINT co_fk2
FOREIGN KEY (iName)
REFERENCES Item (iName)
ON UPDATE CASCADE
)ENGINE = INNODB;
CREATE TABLE Orders (
oSeller CHAR (10),
oTypes CHAR (10),
oQuantity INT,
oPrice REAL,
oID INT AUTO_INCREMENT
PRIMARY KEY
)ENGINE = INNODB;
CREATE TABLE Customer (
cID INT AUTO_INCREMENT
PRIMARY KEY,
cName CHAR (10),
cAddress CHAR (30)
)ENGINE = INNODB;
我在一开始就有drop命令,所以每次我运行这个脚本时,它们都会被删除,或者至少所有的命令都会被删除,除了copy和sale。每当我尝试删除它们时,它都会失败,因为它们从未被创建过,我总是收到错误1005(HY000)垃圾,后面是无法创建表x。
请帮我解决这个讨厌的问题。柏油 在您的
销售
表中,您有
CONSTRAINT sa_fk2 FOREIGN KEY (iName) REFERENCES Item (iName)
ON UPDATE CASCADE
之后,您将创建项
表
要创建
Copy
表,您需要在Order
表中的oQuantity
字段上建立索引
INDEX `oQty` (`oQuantity`)
将上述内容添加到Order表可以创建这些表
这是一个。无可否认地对项目进行了排序,但没有复制:(类似地,在您的复制表中,您随后正在创建
订单
表。我已重新排列了代码,以便复制排在最后,仍然没有骰子:(我不知道这是怎么回事,但我已经起床太久了。干杯,伙计们,我已经到了一个地步,我只是盯着屏幕,希望它能改变自己:)