#mysql #sql
#mysql #sql
Вопрос:
Я уверен, что следил за ответами из других сообщений, но мой код по-прежнему неверен. Я не уверен, как добавить внешние ключи в мою таблицу. Я также следовал инструкциям, приведенным на веб-сайте учебника.
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;
Ответ №1:
опечатка в имени первой таблицы и в имени последней таблицы.
работает ниже.
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;
Комментарии:
1. В идеале вы бы просто удалили этот вопрос, поскольку позже он никому не поможет. Спасибо.