我是初學者,在mysql中有一個簡單的問題。 我在我的模式(書店)中有三張桌子。我想要他們之間的關係。 我的表格:book(book_id,book_name,book_entity),customer(customer_id,customer_name),orders(book_id,customer_id,quantity)。 我設置的訂單表的外鍵如下:mysql工作臺中的外鍵
外鍵的名稱(book_id和CUSTOMER_ID),參考表( '書店', '書' '書店', '顧客')
起初我填的是books表,但是當我試圖插入客戶表中的數據我有以下錯誤:
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;
這是因爲您在主表中沒有相應的'customer_id',而您有'customer_id'作爲主鍵。 – 2012-02-23 11:29:57
__foreign鍵名參考表book_id'bookshop','books'customer_id'bookshop','customer'__沒有太大意義。重新編寫你如何定義goreign鍵。 – 2012-02-23 11:31:01
我只想在我的表格之間建立關係。我的訂單表中的外鍵:customer_id和book_id(它們也是主鍵) – samira 2012-02-23 11:36:51