我对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失败
以最终形式获取视图定义。 没什么可取的
我目前被困住了。
答案 0 :(得分:1)
我终于弄清楚出了什么问题。因为我有11个表,所以一些外键具有相同的名称。我已经从每张桌子上重新命名了它们并且有效。
答案 1 :(得分:0)
脚本尝试创建一个已存在的表。如果你跑了两次就会发生这种情况。
要删除旧表,请在脚本前加上:
drop table if exists mydb.avaya;
但是,您必须为每个表执行此操作。更糟糕的是,当您再次从EER生成脚本时,您的更改将会丢失。通常可以选择自动生成这些语句,但这取决于您使用的软件。
要删除整个数据库并重新启动,请在mysql控制台中运行:
drop database mydb.avaya;
create database mydb.avaya;