【问题标题】:Executing SQL script in server ERROR: Error 1022: Can't write; duplicate key in table 'booking_items' I can't find this error in my database [duplicate]在服务器执行 SQL 脚本错误:错误 1022:无法写入;表'booking_items'中的重复键我在我的数据库中找不到这个错误[重复]
【发布时间】:2023-03-16 22:53:01
【问题描述】:

在服务器中执行 SQL 脚本

ERROR: Error 1022: Can't write; duplicate key in table 'booking_items'

-- -----------------------------------------------------
-- Table `Lassana_Flora`.`Booking_Items`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Lassana_Flora`.`Booking_Items` (
  `Booking_ID` INT NOT NULL AUTO_INCREMENT,
  `Customer_ID` INT NOT NULL,
  `Today` DATE NOT NULL,
  `Booking_Date` DATE NOT NULL,
  `Item_Code` VARCHAR(20) NOT NULL,
  `Unit_Price` DOUBLE NOT NULL,
  `Quantity` INT NOT NULL,
  `Invoice_ID` INT NOT NULL,
  `Personal_Message` VARCHAR(45) NULL,
  `Booking_Option` VARCHAR(45) NOT NULL,
  `Status` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`Booking_ID`),
  INDEX `Customer_ID_idx` (`Customer_ID` ASC),
  INDEX `Invoice_ID_idx` (`Invoice_ID` ASC),
  INDEX `Item_Code_idx` (`Item_Code` ASC),
  CONSTRAINT `Customer_ID`
    FOREIGN KEY (`Customer_ID`)
    REFERENCES `Lassana_Flora`.`Customer_Details` (`Customer_ID`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `Invoice_ID`
    FOREIGN KEY (`Invoice_ID`)
    REFERENCES `Lassana_Flora`.`Invoice` (`Invoice_ID`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `Item_Code`
    FOREIGN KEY (`Item_Code`)
    REFERENCES `Lassana_Flora`.`Items` (`Item_Code`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB

【问题讨论】:

    标签: sql


    【解决方案1】:

    可能要插入的数据中存在相同的列(Booking_ID)值。 最好写下更多细节。比如sql脚本、db类型等……

    【讨论】:

      猜你喜欢
      • 2013-08-06
      • 2019-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-17
      相关资源
      最近更新 更多