创建具有外键的表(materia_ciclo
)时出现错误。
我想强调一个事实,我已经创建了很多次这样的表,并且没有出现这样的错误。我不知道这是否是因为我使用了(10.4)版本的MariaDB,我已经能够在较旧的MariaDB版本中做到这一点。我尝试使用不同的语法来创建外键约束,例如(具有给定的外名,不带给定的外名,子表的不同列名(它们将成为外键)),似乎没有什么可以解决该错误。
我也运行了命令
show engine innodb status;
如其他网站所建议,但其输出只是一个奇怪的字符串:\n=============\n
create table materia(
id_materia int(4),
nombre varchar(25) not null,
constraint pk_id_materia primary key(id_materia)
)engine = InnoDB;
create table ciclo_escolar(
id_ciclo_esc int(4),
descripcion varchar(30) not null unique,
constraint pk_id_ciclo_esc primary key(id_ciclo_esc)
)engine = InnoDB;
create table grado(
id_grado int(2),
descripcion varchar(7) not null unique,
constraint pk_id_grado primary key(id_grado)
)engine = InnoDB;
create table materia_ciclo(
id_materia_ciclo int(10),
id_materia int(4) not null,
id_ciclo_esc int(4) not null,
id_grado int(2) not null,
constraint pk_id_materia_ciclo primary key(id_materia_ciclo),
constraint fk_materia_ciclo foreign key(id_materia) references materia(id_materia),
constraint fk_ciclo_esc_ciclo foreign key(id_ciclo_esc) references ciclo(id_ciclo_esc),
constraint fk_grado_ciclo foreign key(id_grado) references grado(id_grado)
)engine = InnoDB;
它应该通知该表已创建("0 rows affected"
),相反,我收到此错误:
“错误代码:1005。无法创建表myDatabaseName
。materia_ciclo
(错误号:150“外键约束格式不正确”)”。
任何线索,想法或帮助将不胜感激。晚上/晚上好。