Я новичок в MySQL и у меня простой вопрос.
у меня есть три таблицы в моей схеме (книжный магазин). Я хочу иметь отношения между ними.
мои таблицы: книги (book_id, book_name, book_entity), customer (customer_id, customer_name), заказы (book_id, customer_id, количество).
я установил внешний ключ в таблице заказов следующим образом:
имена внешних ключей (book_id и customer_id), справочная таблица (
«Книжный магазин», «книга»
'Книжный магазин', 'клиент')
сначала я заполняю таблицу книг, но когда я пытаюсь вставить данные в таблицу клиентов, у меня появляется следующая ошибка:
ERROR 1452: Cannot add or update a child row: a foreign key constraint fails (`bookshop`.`customer`, CONSTRAINT `customer_id` FOREIGN KEY (`customer_id`) REFERENCES `order` (`customer_id`) ON DELETE NO ACTION ON UPDATE NO ACTION)
SQL Statement:
INSERT INTO `bookshop`.`customer` (`customer_id`, `customer_name`, `customer_address`) VALUES (2, 'helen', 'newyork')
что мне делать?
мои коды:
-- Table `bookshop`.`books`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `bookshop`.`books` (
`book_id` INT NOT NULL ,
`book_name` VARCHAR(45) NOT NULL ,
`book_price` DECIMAL NOT NULL ,
`book_entity` INT NOT NULL ,
PRIMARY KEY (`book_id`) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `bookshop`.`customer`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `bookshop`.`customer` (
`customer_id` INT NOT NULL ,
`customer_name` VARCHAR(45) NOT NULL ,
`customer_address` VARCHAR(45) NOT NULL ,
PRIMARY KEY (`customer_id`) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `bookshop`.`orders`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `bookshop`.`orders` (
`book_id` INT NOT NULL ,
`customer_id` INT NOT NULL ,
`quantity` INT NOT NULL ,
INDEX `book_id` (`book_id` ASC) ,
INDEX `customer_id` (`customer_id` ASC) ,
CONSTRAINT `book_id`
FOREIGN KEY (`book_id` )
REFERENCES `bookshop`.`books` (`book_id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `customer_id`
FOREIGN KEY (`customer_id` )
REFERENCES `bookshop`.`customer` (`customer_id` )
ON DELETE RESTRICT
ON UPDATE RESTRICT)
ENGINE = InnoDB;