Comunidad de diseño web y desarrollo en internet online

Error al insertar tabla en base de datos

Citar            
MensajeEscrito el 11 Abr 2014 04:13 pm
Tengo un problema, cuando intento insertar estas tres tablas me da el siguiente error en tabla "trabajador" :
#1215 - Cannot add foreign key constraint
me da el error donde hago el ON y el UPDATE pero no descubro por que es,
Alguien me puede encontrar el fallo? Gracias

CREATE TABLE puesto(
nom_puesto VARCHAR(10),
CONSTRAINT cp_puesto PRIMARY KEY(nom_puesto)
);
CREATE TABLE seccion(
cod_seccion SERIAL,
nom_seccion VARCHAR(20) NOT NULL,
alta BOOLEAN NOT NULL,
precio FLOAT NOT NULL,
CONSTRAINT cp_seccion PRIMARY KEY(cod_seccion),
CONSTRAINT chk_precio CHECK(precio>=0)
);
CREATE TABLE trabajador(
dni_trabajador VARCHAR(8) NOT NULL,
nom_puesto VARCHAR(10) NOT NULL,
nombre VARCHAR(30) NOT NULL,
apellidos VARCHAR(30) NOT NULL,
direccion VARCHAR(30) NOT NULL,
telefono VARCHAR(9) NOT NULL,
correo VARCHAR(30) NOT NULL,
contrasenya VARCHAR(100) NOT NULL,
num_bancario VARCHAR(20) NOT NULL,
cod_seccion INTEGER,

CONSTRAINT cp_trabajador PRIMARY KEY(dni_trabajador),
CONSTRAINT ca_trabajador_seccion FOREIGN KEY(cod_seccion)
REFERENCES seccion ON DELETE RESTRICT ON UPDATE CASCADE,
CONSTRAINT ca_trabajador_puesto FOREIGN KEY(nom_puesto)
REFERENCES puesto ON DELETE RESTRICT ON UPDATE CASCADE
);

Por castansansano

0 de clabLevel



 

chrome
Citar            
MensajeEscrito el 12 Abr 2014 04:16 am
Si no me equivoco las claves foraneas que declaras a lo ultimo deben ser campos de esa tabla, es decir ca_trabajador_seccion, ca_trabajdor_puesto y cp trabajador. que deben tener el mismo dominio, es decir ser del mismo ttipo y longitud que los campos que referencias.

Por giulichajari

18 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.