(
clientesid int not null,
nombre varchar(50),
apellido varchar(50),
compania varchar(50),
primary key (clientesid)
)engine = InnoDB;
create TABLE Pedidos
(
id int not null,
FechaPedido datetime,
FechaEntrega datetime,
idCliente int not null,
primary key(id),
constraint fk_clientes_pedidos foreign key
(idCliente)
references Clientes
(idCliente)
on update cascade
on delete cascade
)engine = InnoDB;
no me deja crear la segunta tabla...
Lo de "error 1215" es poco claro. Si lanzas esta consulta desde algún entorno como PhpMyAdmin, te dará más detalles sobre cuál es el error concreto y en qué punto se encuentra.
Si no usas PhpMyAdmin, la propia referencia online de MySQL te puede ayudar, indicándote que se trata de un problema con una clave ajena que no se ha podido crear:
http://dev.mysql.com/doc/refman/5.0/es/error-handling.html
Verás que tu segunda tabla tiene este fragmento:
references Clientes
(idCliente)
pero no existe ese campo "idCliente" en la primera tabla, sino un "clientesid", por lo que se puede esperar que lo correcto fuese:
references Clientes
(clientesid)
uso mysql workbench, revise el codigo con el profe y el no le encuentra el error, voy a probar lo que me decis del id, pero no creo que sea eso porque lo cambie varias veces ya
Claro que es eso: en el REFERENCES tienes que decir el nombre de la tabla a la que haces referencia, y (entre paréntesis) el nombre del campo equivalente, tal y como se llama en esa tabla.
Aquí tienes la parte correspondiente de la referencia oficial de MySQL:
http://dev.mysql.com/doc/refman/5.0/es/innodb-foreign-key-constraints.html
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)