连接航班表书籍表和公司时,我收到错误1215.我连接其他表没有问题。有谁能告诉我出了什么问题?
create database aviacion;
use aviacion;
create Table Compañia(
Codigo char(8) NOT NULL,
Nombre varchar(15),
Volumen_venta decimal(10,0)
);
create Table Pais(
Codigo char(8) NOT NULL,
Nombre varchar(10),
Idioma varchar(10),
Moneda varchar(10)
);
create Table Avion(
Nombre varchar(10) NOT NULL,
Consumo_gas int(8),
Cantidad_asientos int(25)
);
create Table Viaje(
Codigo char(8) NOT NULL,
Lugar varchar(10),
Destino varchar(10),
Cantidad_km int(8)
);
create Table Vuelo(
Precio decimal(10,0) NOT NULL,
Tiempo_duracion datetime NOT NULL
);
Alter Table Compañia Add Primary Key (Codigo);
Alter Table Pais Add Primary Key (Codigo);
Alter Table Avion Add Primary Key (Nombre);
Alter Table Viaje Add Primary Key (Codigo);
Alter Table Vuelo Add Primary Key (Precio);
Alter Table Pais Add Foreign Key (Codigo) References Compañia(Codigo);
Alter Table Avion Add Foreign Key (Nombre) References Pais(Codigo);
Alter Table Viaje Add Foreign Key (Codigo) References Avion(Nombre);
Alter Table Vuelo Add Foreign Key (Precio) References Viaje(Codigo);
Alter Table Vuelo Add Foreign Key (Precio) References Compañia(Codigo);
答案 0 :(得分:2)
首先尝试创建没有外键的数据库,并检查它是否有效。
当您尝试将外键添加到此部分时
ALTER TABLE Vuelo ADD FOREIGN KEY (Precio) REFERENCES Compañia(Codigo);
您正在使用其他数据类型。
Precio
是十进制数据类型,Compañia(Codigo)
是char,但外键必须具有相同的数据类型。