知道有人可以检查我的mysql工作台错误代码1215吗?

时间:2014-08-29 19:21:50

标签: mysql mysql-workbench

连接航班表书籍表和公司时,我收到错误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);

1 个答案:

答案 0 :(得分:2)

首先尝试创建没有外键的数据库,并检查它是否有效。

当您尝试将外键添加到此部分时

ALTER TABLE Vuelo ADD FOREIGN KEY (Precio) REFERENCES Compañia(Codigo);

您正在使用其他数据类型。

Precio是十进制数据类型,Compañia(Codigo)是char,但外键必须具有相同的数据类型。