MySql 错误 1005 错误号 22

Posted

技术标签:

【中文标题】MySql 错误 1005 错误号 22【英文标题】:MySql Error 1005 errno 22 【发布时间】:2014-04-27 04:05:24 【问题描述】:

请在我尝试创建此表时提供帮助

CREATE TABLE `sepetbol`.`ManRInMv|` (
  `CodResIns` INTEGER UNSIGNED NOT NULL COMMENT 'codigo resultado inspeccion',
  `FecResIns` DATETIME NOT NULL COMMENT 'Fecha de resultado de Inspeccion',
  `ConActual` INTEGER UNSIGNED NOT NULL COMMENT 'Contador Actual',
  `TieDuracion` INTEGER UNSIGNED NOT NULL COMMENT 'Tiempo Duracion de la Inspeccion',
  `ImaDoc` LONGBLOB COMMENT 'Imagen del Documento',
  `DesTipCod` VARCHAR(4) COMMENT 'Descripcion del Tipo de Doc',
  `CodMecanico` INTEGER UNSIGNED NOT NULL COMMENT 'Codigo Empleado Mecanico',
  `CodObra` INTEGER UNSIGNED NOT NULL COMMENT 'Codigo de Obra',
  `CodEquipo` INTEGER UNSIGNED NOT NULL COMMENT 'Codigo de Equipo',
  PRIMARY KEY(`CodResIns`),
  CONSTRAINT `FK_CodMecanicoRIn` FOREIGN KEY `FK_CodMecanicoRIn` (`CodMecanico`)
    REFERENCES `rhuempme` (`CodEmp`)
    ON DELETE RESTRICT
    ON UPDATE RESTRICT,
  CONSTRAINT `FK_CodObraRIn` FOREIGN KEY `FK_CodObraRIn` (`CodObra`)
    REFERENCES `genobrme` (`CodObra`)
    ON DELETE RESTRICT
    ON UPDATE RESTRICT,
  CONSTRAINT `FK_CodEquipoRIn` FOREIGN KEY `FK_CodEquipoRIn` (`CodEquipo`)
    REFERENCES `almequme` (`CodEqu`)
    ON DELETE RESTRICT
    ON UPDATE RESTRICT

COMMENT = 'Resultado de Inspeccion';

约束很好也不是不重复的 incopatibilidad 数据类型

我一直在网上搜索有关此错误的信息……但我的问题没有任何解决方案

【问题讨论】:

要使外键约束起作用,您必须具有兼容的表类型(InnoDB,而不是 MyISAM)、相同的字段类型(所有 INT 或 VARCHAR 或其他 - 例如,没有与 INT 引用 VARCHAR 的混合连接) ,在创建约束之前目标表必须存在,引用的列必须被索引,并且任何现有数据都必须通过约束(这不适用于新表)。检查并再次检查。你错过了什么。 您是否尝试过使用不带管道“|”的名称在中?此错误与创建临时表有关,此名称可能会破坏内容:) 【参考方案1】:

    关闭您的创建表语法,如:

    创建表(字段...);

现在它没有用结束括号关闭。

    请检查您的所有主表数据类型是否为“整数无符号”,如果在任何主表中不同,只需更改即可。

【讨论】:

以上是关于MySql 错误 1005 错误号 22的主要内容,如果未能解决你的问题,请参考以下文章

SQL - 错误代码 1005 和错误号 121

在 mysql 表上添加外键约束时出现错误 1005

错误代码:1005。无法创建表“...”(错误号:150)

mysql 无法创建表 - 错误 1005

MySQL创建表:错误1005 errno:150“外键约束形成错误”

MySQL 中的外键:错误 1005