我在 MySQL 上使用外键时遇到了这个问题。我是这门语言的新手,我已经阅读了很多官方文档,但一无所获。
我还检查了此站点上有关外键的其他问题,但也没有帮助我。我什至复制了一个正确的代码并用我的案例更改了名称,它一直给我错误。
我正在使用 SQL Fiddle 检查我的 sintaxis。这是代码:
CREATE TABLE Aparato(
Codigo SMALLINT NOT NULL AUTO_INCREMENT,
Descripcion VARCHAR(40) NOT NULL,
TipoNombre VARCHAR(20) NOT NULL,
TipoCaracteristicas VARCHAR(30) NOT NULL,
FOREIGN KEY (TipoNombre) REFERENCES Tipo(Nombre),
FOREIGN KEY (TipoCaracteristicas) REFERENCES Tipo(Caracteristicas),
PRIMARY KEY (Codigo)
);
CREATE TABLE Tipo(
Nombre VARCHAR(20) NOT NULL,
Caracteristicas VARCHAR(30) NOT NULL,
PRIMARY KEY (Nombre)
);
这是西班牙语,但我认为这无关紧要。我收到此错误,您可以自己尝试(SQL Fiddle):
Schema Creation Failed: Can't create table 'db_2_b9c14b.aparato' (errno: 150):
甚至我的数据库老师也找不到问题出在哪里。