Python - Error 1068(42000) y 1215(HY000) mysql

 
Vista:
sin imagen de perfil

Error 1068(42000) y 1215(HY000) mysql

Publicado por Jose Luis (12 intervenciones) el 30/01/2015 17:40:15
Veréis, tengo un código en mysql, creación de varias tablas.
Pero al ejecutar el fichero .sql me saltan estos dos errores:

ERROR 1068(42000)
ERROR 1215(HY000)

Y no entiendo el porqué ni como solucionarlo.
El código es el siguiente:

drop database if exists transporte;

create database transporte;

use transporte;


# creacion de tablas

CREATE TABLE CONDUCTOR(
DNI CHAR(8) PRIMARY KEY,
Nombre VARCHAR(50),
direccion VARCHAR(40),
provincia VARCHAR(20)
);

CREATE TABLE VEHICULO(
Matricula CHAR(4) PRIMARY KEY,
CargaMax VARCHAR(50),
FechaCompra DATE
);

CREATE TABLE RUTA(
Ruta CHAR(8) not null PRIMARY KEY,
CiudadSalida VARCHAR(35) NOT NULL,
CiudadLlegada CHAR(35) NOT NULL,
KM VARCHAR(20)
);


CREATE TABLE VIAJE_PROGRAMADO(
Viaje CHAR(4) PRIMARY KEY,
Ruta VARCHAR(30) UNIQUE, creditos DECIMAL(4,1),
FechaSalida DATE,
HoraSalida TIME,
FechaLlegada DATE,
HoraLlegada TIME,
PRIMARY KEY (Viaje, Ruta),
FOREIGN KEY (Ruta) REFERENCES RUTA (Ruta)
);


CREATE TABLE VIAJE_ASIGNADO(
Viaje CHAR(4) PRIMARY KEY,
DNI CHAR(8) REFERENCES CONDUCTOR(DNI),
Matricula CHAR(4) REFERENCES VEHICULO(Matricula),
FOREIGN KEY (Viaje) REFERENCES VIAJE_PROGRAMADO(Viaje)
);


No conozco muy bien el funcionamiento del foro, no se si hay que introducir los codigos de alguna manera, no veo boton alguno.
Gracias de antemano y diculpen las molestias
Os adjunto el codigo sql, por si os facilitara mas la ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Error 1068(42000) y 1215(HY000) mysql

Publicado por xve (1646 intervenciones) el 30/01/2015 20:43:20
Hola Jose Luis, como intentas añadir el archivo sql a la base de datos?

Lo lees desde Python y ejecutas cada linea? o lo haces desde consola?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Error 1068(42000) y 1215(HY000) mysql

Publicado por Jose Luis (12 intervenciones) el 30/01/2015 20:47:50
Gracias por tu respuesta, el fallo andaba en declarar dos veces "viaje" como principal key en "viajeprogramado"
Trngo unas dudas acerca de unas funciones y procedimientos , por si podrias ayudarme:




Define una función esDNI para comprobar que una cadena es de la forma 'dddddddd'.
Define una función esMatricula para comprobar que una cadena es de la forma 'ddddccc'.
Define una función esFecha para comprobar que una cadena representa una fecha.
Define una función esHora para comprobar que una cadena representa una hora (con sus minutos y sus segundos).
Crea un procedimiento llamado "insConductor" para insertar un conductor nuevo en la base de datos y que compruebe que ningún atributo es nulo, que el atributo "DNI" es de la forma "dddddddd" donde las d pueden tomar los valores '0' ... '9'. Además se ha de comprobar que la provinca sea igual a uno de los códigos que aparece en la siguiente tabla https://www.dropbox.com/s/qo0pwt5ipk8t3wt/provincias.txt?dl=0, para ello se creará una nueva tabla con los datos del fichero y se comprobará que el código introducido corresponde con el de una provincia.
Crea un procedimiento llamado "insVehiculo" para insertar un vehículo nuevo en la base de datos y que compruebe que 'matricula' es de la forma 'dddccc', que la cadena 'fechadecompra' representa una fecha y que 'cargamax' es un número natural mayor que cero.
Crea un procedimiento insRuta que haga todas las comprobaciones necesarias.
Crea un procedimiento insVProgramado que haga todas las comprobaciones necesarias.
Crea un procedimiento insVAsignado que haga todas las comprobaciones necesarias.
Para los anteriores procedimientos poner en el fichero transporte.sql un ejemplo de uso de cada uno de ellos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar