我不知道此代码中的问题是什么......我验证了所有列名称和数据类型,但这不起作用
CREATE TABLE empleado (
tipo_dni VARCHAR(50) NOT NULL,
nro_dni INT NOT NULL,
nombre VARCHAR(50) NOT NULL,
apellido VARCHAR(50) NOT NULL,
direccion VARCHAR(50) NOT NULL,
telefono INT NOT NULL,
id_ciudad INT NOT NULL,
PRIMARY KEY (tipo_dni , nro_dni)
);
CREATE TABLE director (
tipo_dni VARCHAR(50) NOT NULL,
nro_dni INT NOT NULL,
PRIMARY KEY (tipo_dni, nro_dni),
FOREIGN KEY (tipo_dni)
REFERENCES empleado (tipo_dni),
FOREIGN KEY (nro_dni)
REFERENCES empleado (nro_dni)
);
ERROR
#1005 - Can't create table `tpfinal`.`director` (errno: 150 "Foreign key constraint is incorrectly formed")
有什么想法吗?
答案 0 :(得分:2)
您的主要关键是:
PRIMARY KEY (tipo_dni , nro_dni)
这是一个复合主键。外键引用也应该是复合的:
FOREIGN KEY (tipo_dni, nro_dni)
REFERENCES empleado (tipo_dni, nro_dni)