简体   繁体   English

MySQL工作台数据导入,外键错误

[英]MySQL workbench data importing, foreign key error

Im workin in mySQL workbench 8.0CE, i've created two tables, one for person and another one for persons direction, i'm trying to export data, but it throws and error 我在mySQL Workbench 8.0CE中工作,我创建了两个表,一个表用于人,另一个表用于人,我试图导出数据,但是它会抛出错误

ERROR 1064 (42000) at line 67: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '
  CONSTRAINT `fk_PersonaDireccion`
    FOREIGN KEY (`idPersona`)
    REFERENCES' at line 8

Operation failed with exitcode 1

This is the sql code 这是SQL代码

    CREATE TABLE IF NOT EXISTS `dinSchema`.`Personas` (
  `nombre` VARCHAR(20) NOT NULL,
  `apellidoP` VARCHAR(20) NOT NULL,
  `apellidoM` VARCHAR(20) NOT NULL,
  `foto` MEDIUMBLOB NULL,
  `fechaCaptura` TIMESTAMP(6) NOT NULL,
  `escolaridad` VARCHAR(25) NOT NULL,
  `carrera` VARCHAR(25) NULL,
  `telefono` VARCHAR(10) NULL,
  `correo` VARCHAR(50) NOT NULL,
  `sexo` VARCHAR(10) NOT NULL,
  `rfc` VARCHAR(13) NOT NULL,
  `curp` VARCHAR(18) NOT NULL,
  `observaciones` MEDIUMTEXT NULL,
  `idPersonas` INT NOT NULL,
  PRIMARY KEY (`idPersonas`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `dinSchema`.`direccion`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `dinSchema`.`direccion` ;

CREATE TABLE IF NOT EXISTS `dinSchema`.`direccion` (
  `pais` VARCHAR(6) NOT NULL DEFAULT 'México',
  `estado` VARCHAR(20) NOT NULL,
  `ciudad` VARCHAR(25) NOT NULL,
  `direccion` VARCHAR(150) NOT NULL,
  `cp` INT(8) NOT NULL,
  `idPersona` INT NOT NULL,
  INDEX `fk_PersonaDireccion_idx` (`idPersona` ASC) VISIBLE,
  CONSTRAINT `fk_PersonaDireccion`
    FOREIGN KEY (`idPersona`)
    REFERENCES `dinSchema`.`Personas` (`idPersonas`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE)
ENGINE = InnoDB;

next i append EER Diagram img 接下来我附上EER图img EER图

Note: "Personas" id field is at last, beacuse i deleted a foreign key connection. 注意:因为我删除了外键连接,所以“ Personas” ID字段终于出现了。

Somehow i fixed it, unchecked user default global settings in model options, and 我以某种方式修复了该问题,在模型选项中未选中用户默认的全局设置,

INDEX `fk_PersonaDireccion_idx` (`idPersona` ASC) VISIBLE

disapeared, now "direccion" table got like this 消失了,现在“ direccion”表变得像这样

CREATE TABLE IF NOT EXISTS `dinSchema`.`direccion` (
  `pais` VARCHAR(6) NOT NULL DEFAULT 'México',
  `estado` VARCHAR(20) NOT NULL,
  `ciudad` VARCHAR(25) NOT NULL,
  `direccion` VARCHAR(150) NOT NULL,
  `cp` INT(8) NOT NULL,
  `idPersona` INT NOT NULL,
  CONSTRAINT `fk_PersonaDireccion`
    FOREIGN KEY (`idPersona`)
    REFERENCES `dinSchema`.`Personas` (`idPersonas`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE)
ENGINE = InnoDB;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM