Failed Mysql workbench error 1215

0

I have to make a database of a hospital, I'm new to mysql and in this forum. I get the error when creating the foreing key.

DROP DATABASE IF EXISTS 'hospital2';

CREATE DATABASE IF NOT EXISTS 'hospital2' /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_spanish_ci */;
USE 'hospital2';

DROP TABLE IF EXISTS 'admin';

CREATE TABLE IF NOT EXISTS 'admin' (
    'usuario' varchar(9) NOT NULL,
    'apellidos' varchar(50) NOT NULL,
    'passw' varchar(9) NOT NULL,
    'nombre' varchar(50) NOT NULL,
    'foto' longblob
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

DROP TABLE IF EXISTS 'area';

CREATE TABLE IF NOT EXISTS 'area' (
    'id' int(11) NOT NULL DEFAULT '0',
    'tipo' varchar(50) DEFAULT NULL,
    'color' varchar(50) DEFAULT NULL,
    'orientacion' varchar(50) DEFAULT NULL,
    PRIMARY KEY ('id')
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

DROP TABLE IF EXISTS 'asignado';

CREATE TABLE IF NOT EXISTS 'asignado' (
    'idTrabajador' varchar(9) NOT NULL DEFAULT '',
    'idTurno' int(11) NOT NULL DEFAULT '0',
    PRIMARY KEY ('idTrabajador','idTurno'),
    KEY 'idTurno' ('idTurno'),
    CONSTRAINT 'asignado_ibfk_1' FOREIGN KEY ('idTrabajador')    REFERENCES 'trabajador' ('colegiado') ON DELETE CASCADE,
    CONSTRAINT 'asignado_ibfk_2' FOREIGN KEY ('idTurno') REFERENCES     'turno' ('id')
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- Volcando estructura para tabla hospital.tipoturno
DROP TABLE IF EXISTS 'tipoturno';

CREATE TABLE IF NOT EXISTS 'tipoturno' (
'tipo' varchar(50) NOT NULL DEFAULT '',
'horaentrada' time DEFAULT NULL,
'horasalida' time DEFAULT NULL,
 PRIMARY KEY ('tipo')
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

DROP TABLE IF EXISTS 'trabajador';

CREATE TABLE IF NOT EXISTS 'trabajador' (
'colegiado' varchar(9) CHARACTER SET latin1 NOT NULL DEFAULT '',
'nif' varchar(9) CHARACTER SET latin1 NOT NULL,
'nombre' varchar(50) CHARACTER SET latin1 NOT NULL,
'apellidos' varchar(50) CHARACTER SET latin1 NOT NULL,
'telefono' varchar(9) CHARACTER SET latin1 DEFAULT NULL,
'direccion' varchar(50) CHARACTER SET latin1 DEFAULT NULL,
'nacionalidad' varchar(50) CHARACTER SET latin1 DEFAULT NULL,
'provincia' varchar(50) CHARACTER SET latin1 DEFAULT NULL,
'ciudad' varchar(50) CHARACTER SET latin1 DEFAULT NULL,
'fecha_nacimiento' date DEFAULT NULL,
'sexo' varchar(1) CHARACTER SET latin1 DEFAULT NULL,
'activo' tinyint(1) DEFAULT NULL,
'foto' longblob,
'idArea' int(11) DEFAULT NULL,
'passw' varchar(9) CHARACTER SET latin1 DEFAULT NULL,
PRIMARY KEY ('colegiado'),
KEY 'idArea' ('idArea'),
KEY 'colegiado' ('colegiado'),
CONSTRAINT 'trabajador_ibfk_1' FOREIGN KEY ('idArea') REFERENCES 'area'       ('id')
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;
    
asked by Beui 30.04.2018 в 12:32
source

1 answer

0

If you have relationships make sure that you have created the index because the problem should come, that is (example): Your table usuarios with id as primary key. and your table ventas with a column id_usuario here the id_usuario should have index make sure your relationships are like this, so that you do not mark error. Greetings!

    
answered by 02.05.2018 в 05:17