mysql - MySQL工作台数据导入,外键错误
问题描述
我在 mySQL 工作台 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;
注意:“Personas” id 字段最后是,因为我删除了外键连接。
解决方案
我以某种方式修复了它,未选中模型选项中的用户默认全局设置,并且
INDEX `fk_PersonaDireccion_idx` (`idPersona` ASC) VISIBLE
消失了,现在“方向”表变成了这样
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;
推荐阅读
- python - python字符串中出现次数最多的最小字母表
- javascript - 在 req.params 中获取错误的值 - Node.js
- git - 如何删除 Go 模块的标记版本
- angularjs - 为什么双向绑定不能将 ng-model 作为变量使用,而是将其作为对象属性使用?
- ios - 如果 json 对象中的类型不匹配,则通过 json 应用程序创建领域对象时崩溃
- nginx - Magento 2.4.2 安装在子文件夹中(example.com/path to magento)
- ios - Xcode:Swift - 如何在编辑文本字段时使底线边框颜色出现/消失?
- r - R基本函数特征有对称矩阵的问题
- hadoop - 如何将文件从本地机器发送到在 Virtual Box 上运行的 HortonBox 实例?
- javascript - 我正在尝试插入表单内容,但它在控制台上打印 null