错误1022:无法写入;表'tablesample'中的重复键

时间:2015-04-08 14:22:25

标签: mysql mysql-workbench

我对MySQL比较陌生,在尝试从我的EER Diagram转发工程表时,我不断收到错误1022.

在服务器中执行SQL脚本 错误:错误1022:无法写入;表格中的重复键' avaya' SQL代码:


-- Table `mydb`.`avaya`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`avaya` (
  `avaya_id` INT NOT NULL,
  `id_no` INT NULL,
  `date` DATE NULL,
  `avaya_pw` VARCHAR(45) NULL,
  `requestor` VARCHAR(45) NULL,
  PRIMARY KEY (`avaya_id`),
  INDEX `id_no_idx` (`id_no` ASC),
  CONSTRAINT `id_no`
    FOREIGN KEY (`id_no`)
    REFERENCES `mydb`.`employee` (`id_no`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB

SQL脚本执行完成:语句:8成功,1失败

以最终形式获取视图定义。 没什么可取的

我目前被困住了。

2 个答案:

答案 0 :(得分:1)

我终于弄清楚出了什么问题。因为我有11个表,所以一些外键具有相同的名称。我已经从每张桌子上重新命名了它们并且有效。

答案 1 :(得分:0)

脚本尝试创建一个已存在的表。如果你跑了两次就会发生这种情况。

要删除旧表,请在脚本前加上:

drop table if exists mydb.avaya;

但是,您必须为每个表执行此操作。更糟糕的是,当您再次从EER生成脚本时,您的更改将会丢失。通常可以选择自动生成这些语句,但这取决于您使用的软件。

要删除整个数据库并重新启动,请在mysql控制台中运行:

drop database mydb.avaya;
create database mydb.avaya;
相关问题