我尝试将表mysql关联但我有这个错误
错误代码:1215。无法添加外键约束
这是mysql脚本
CREATE DATABASE prototipo;
USE prototipo;
CREATE TABLE tb_tipo_usuario(
id int not null,
tipo varchar(30) not null,
constraint PK_tb_tipo_usuario_id primary key(id)
);
CREATE TABLE tb_usuarios(
id_usuario int(5) zerofill not null auto_increment,
usuario varchar(30) not null,
clave varchar(30) not null,
nombre varchar(30) not null,
apellido varchar(30) not null,
cedula varchar(30) not null,
cargo varchar(40) not null,
tipo_usuario int not null,
fecha_registro date not null,
constraint PK_tb_usuarios_id_usuario primary key(id_usuario),
constraint fk_tb_usuarios_tipo_usuario foreign key(tipo_usuario) references tb_tipo_usuario(id)
);
CREATE TABLE tb_tipo_pollo(
id_tipo_pollo int(2) zerofill not null auto_increment,
tipo_pollo varchar(30) not null,
constraint pk_tb_tipo_pollo_id_tipo_pollo primary key(id_tipo_pollo)
);
create table tb_parvada(
id_parvada int(5) zerofill not null,
cantidad int not null,
constraint pk_tb_parvada_id_parvada primary key(id_parvada)
);
create table tb_entrada_parvada(
id_entrada_parvada int(5) zerofill not null auto_increment,
tipo_pollo int not null,
cantidad int not null,
fecha_entrada date not null,
fecha_registro TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
comentario varchar(500) null,
id_usuario int not null,
constraint pk_tb_entrada_parvada_id_entrada_pollo primary key(id_entrada_parvada),
constraint fk_tb_entrada_parvada_tipo_pollo foreign key(tipo_pollo) references tb_tipo_pollo(id_tipo_pollo),
constraint fk_tb_entrada_parvada_id_entrada_parvada foreign key(id_entrada_parvada) references tb_parvada(id_parvada),
constraint fk_tb_entrada_parvada_id_usuario foreign key(id_usuario) references tb_usuarios(id_usuario)
);
create table tb_muerte_pollo(
id_muerte int(5) zerofill not null auto_increment,
id_parvada int not null,
cantidad int not null,
fecha date,
fecha_registro TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
motivo varchar(300),
id_usuario int not null,
constraint pk_tb_muerte_pollo primary key(id_muerte),
constraint fk_tb_muerte_pollo foreign key(id_parvada) references tb_parvada(id_parvada),
constraint fk_tb_muerte_pollo_id_usuario foreign key(id_usuario) references tb_usuarios(id_usuario)
);
错误是当我尝试添加表tb_entrada_parvada或表tb_muerte_pollo我不知道如何修复此错误,只是在我删除外键时工作
答案 0 :(得分:0)
参考表中列的DataType
和attributes
应与当前表相同。许多列都缺少ZeroFill
。这就是你得到错误的原因。请改变它。
create table tb_entrada_parvada(
id_entrada_parvada int(5) zerofill not null auto_increment,
tipo_pollo int(2) zerofill not null,
cantidad int not null,
fecha_entrada date not null,
fecha_registro TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
comentario varchar(500) null,
id_usuario int(5) zerofill not null,
constraint pk_tb_entrada_parvada_id_entrada_pollo primary key(id_entrada_parvada),
constraint fk_tb_entrada_parvada_tipo_pollo foreign key(tipo_pollo) references tb_tipo_pollo(id_tipo_pollo),
constraint fk_tb_entrada_parvada_id_entrada_parvada foreign key(id_entrada_parvada) references tb_parvada(id_parvada),
constraint fk_tb_entrada_parvada_id_usuario foreign key(id_usuario) references tb_usuarios(id_usuario)
);
create table tb_muerte_pollo(
id_muerte int(5) zerofill not null auto_increment,
id_parvada int zerofill not null,
cantidad int not null,
fecha date,
fecha_registro TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
motivo varchar(300),
id_usuario int zerofill not null,
constraint pk_tb_muerte_pollo primary key(id_muerte),
constraint fk_tb_muerte_pollo foreign key(id_parvada) references tb_parvada(id_parvada),
constraint fk_tb_muerte_pollo_id_usuario foreign key(id_usuario) references tb_usuarios(id_usuario)
);