2016-10-11 36 views
0

他の投稿から見た回答に必ず従っていますが、私のコードはまだ間違っています。私はどのように私のテーブルに外部キーを追加するか分からない。私はチュートリアルのウェブサイトで与えられた指示にも従った。最初のテーブルの名前と、それの最後のテーブル名の使用上のmysqlワークベンチエラーコード1215:外部キー制約を追加できません

DROP TABLE IF EXISTS `Spatuala` ; 

CREATE TABLE IF NOT EXISTS `Spatuala`(
    `idSpatula` INT NOT NULL, 
    `ProductName` VARCHAR(50) NULL, 
    `Type` ENUM('Food', 'Drugs', 'Paints', 'Plaster') NOT NULL, 
    `Size` VARCHAR(50), 
    `Colour` VARCHAR(50), 
    `Price` DECIMAL(10,2), 
    `QuantityInStock` INT NOT NULL, 
    PRIMARY KEY (`idSpatula`)) 
ENGINE = InnoDB; 

DROP TABLE IF EXISTS `Order`; 

CREATE TABLE IF NOT EXISTS `Order`(
    `idOrder` INT NOT NULL, 
    `RequestedTime` DATETIME NOT NULL, 
    `ResponsibleStaffMember` VARCHAR(100), 
    `CustomerDetails` VARCHAR(300), 
    PRIMARY KEY (`idOrder`)) 
ENGINE = InnoDB; 

DROP TABLE IF EXISTS `OrderLineItem`; 

CREATE TABLE IF NOT EXISTS `OrderLineItem`(
    `idSpatula` INT NOT NULL, 
    `idOrder` INT NOT NULL, 
    `Quantity` INT NOT NULL, 
    FOREIGN KEY (`idSpatula`) 
     REFERENCES `Spatula` (`idSpatula`) 
     ON DELETE NO ACTION 
     ON UPDATE NO ACTION, 
    FOREIGN KEY (`idOrder`) 
     REFERENCES `Order` (`idOrder`) 
     ON DELETE NO ACTION 
     ON UPDATE NO ACTION) 
ENGINE = InnoDB; 

答えて

0

タイプミス。

以下が動作します。

CREATE TABLE IF NOT EXISTS `Spatula`(
    `idSpatula` INT NOT NULL, 
    `ProductName` VARCHAR(50) NULL, 
    `Type` ENUM('Food', 'Drugs', 'Paints', 'Plaster') NOT NULL, 
    `Size` VARCHAR(50), 
    `Colour` VARCHAR(50), 
    `Price` DECIMAL(10,2), 
    `QuantityInStock` INT NOT NULL, 
    PRIMARY KEY (`idSpatula`)) 
ENGINE = InnoDB; 

DROP TABLE IF EXISTS `Order`; 

CREATE TABLE IF NOT EXISTS `Order`(
    `idOrder` INT NOT NULL, 
    `RequestedTime` DATETIME NOT NULL, 
    `ResponsibleStaffMember` VARCHAR(100), 
    `CustomerDetails` VARCHAR(300), 
    PRIMARY KEY (`idOrder`)) 
ENGINE = InnoDB; 

DROP TABLE IF EXISTS `OrderLineItem`; 

CREATE TABLE IF NOT EXISTS `OrderLineItem`(
    `idSpatula` INT NOT NULL, 
    `idOrder` INT NOT NULL, 
    `Quantity` INT NOT NULL, 
    FOREIGN KEY (`idSpatula`) 
     REFERENCES `Spatula` (`idSpatula`) 
     ON DELETE NO ACTION 
     ON UPDATE NO ACTION, 
    FOREIGN KEY (`idOrder`) 
     REFERENCES `Order` (`idOrder`) 
     ON DELETE NO ACTION 
     ON UPDATE NO ACTION 
)ENGINE = InnoDB; 
+0

理想的には、他の人にはあまり役に立ちませんので、この質問を削除することをお勧めします。どうも。 – Drew

関連する問題