I already checked other answers but nothing solves my particular problem. Maybe I can't understand them, I'm new to all this. I'll leave the code here:

```
CREATE TABLE ciudades 
(
    IDCIUDAD decimal(11,0) NOT NULL,
    DESCRIPCION varchar(30) DEFAULT NULL,
    PRIMARY KEY (IDCIUDAD)
);

INSERT INTO ciudades VALUES (1,'Alcorcón');
INSERT INTO ciudades VALUES (2,'Getafe');
INSERT INTO ciudades VALUES (3,'Madrid');
INSERT INTO ciudades VALUES (4,'Móstoles');

CREATE TABLE especialidades 
(
    IDESPECIALIDAD decimal(11,0) NOT NULL,
    DESCRIPCION varchar(30) DEFAULT NULL
);

CREATE TABLE citas 
(
    IDCITA decimal(11,0) NOT NULL,
    FECHA datetime DEFAULT NULL,
    IDMEDICO varchar(10) DEFAULT NULL,
    IDPACIENTE decimal(11,0) DEFAULT NULL,
    HABITACION decimal(11,0) DEFAULT NULL,
    CAMA varchar(1) DEFAULT NULL,
    PAGO decimal(10,2) DEFAULT NULL
);

CREATE TABLE medicos 
(
    IDMEDICO varchar(10) NOT NULL,
    APELLIDOS varchar(50) DEFAULT NULL,
    NOMBRE varchar(50) DEFAULT NULL,
    IDESPECIALIDAD decimal(11,0) DEFAULT NULL,
    PRIMARY KEY (IDMEDICO),
    KEY FK_MED_ESP (IDESPECIALIDAD),
    CONSTRAINT FK_MED_ESP 
        FOREIGN KEY (IDESPECIALIDAD) REFERENCES especialidades (IDESPECIALIDAD)
);

CREATE TABLE pacientes 
(
    IDPACIENTE decimal(11,0) NOT NULL,
    APELLIDOS varchar(50) DEFAULT NULL,
    NOMBRE varchar(50) DEFAULT NULL,
    FECHA_NACIMIENTO datetime DEFAULT NULL,
    DIRECCION varchar(50) DEFAULT NULL,
    TELEFONO varchar(10) DEFAULT NULL,
    IDCIUDAD decimal(11,0) DEFAULT NULL,
);

```

The line:

```
CONSTRAINT FK_MED_ESP FOREIGN KEY (IDESPECIALIDAD) REFERENCES especialidades (IDESPECIALIDAD)   

```

is the one causing the "ERROR 1005: Can't create table (errno: 150)". I already tried changing `IDESPECIALIDAD` to `NOT NULL`. Please, somebody point me in the right direction. I've lost many hours trying to figure this out and I bet it's a simple solution, but I'm way to new to this to find it.

Thanks in advance!