Импорт данных в MySQL, ошибка внешнего ключа - PullRequest
0 голосов
/ 27 ноября 2018

Я работаю в 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

Это 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;

далее я добавляю EER Diagram img EER Diagram

Примечание: поле id "Personas" наконец-то, потому что я удалил aподключение внешнего ключа.

1 Ответ

0 голосов
/ 27 ноября 2018

Каким-то образом я это исправил, непроверенные пользовательские глобальные настройки по умолчанию в настройках модели и

INDEX `fk_PersonaDireccion_idx` (`idPersona` ASC) VISIBLE

исчезли, теперь таблица "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;
...