Hola tengo el siguiente problema en MySQL, quiero crear una clave ajena, pero me da un error de sintaxis. Las dos tablas que quiero relacionar son: coches y piezas.
La tabla coches tiene los siguientes parámetros configurados:
create table coches (modelo varchar(24) primary key, potencia int(4)fecha datetime, precio int(4), disponible bool, observaciones varchar(24));
La tabla piezas estos otros parámetros:
create table piezas (codigo_cliente int(4) unsigned primary key auto_increment, disponible bool, informacion varchar(24), web_fabricante varchar(24), precio varchar(24), modelo_coche varchar(24));
Lo siguiente que hago escribir el código necesario para crear la clave ajena que es el siguiente:
alter table coches (modelo varchar(24) primary key, potencia int(4), fecha datetime, precio varchar(24), disponible tinyint(1), observaciones varchar(30), modelo_coche varchar(24), index(modelo_coche), foreign key (modelo_coche) references piezas(modelo_coche);
En el anterior código cuando lo ejecuto me da el siguiente error:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(modelo varchar(24) primary key, potencia int(4), fecha datetime, precio varchar' at line 1.
Lo estado comprobando varias veces y siempre me aparece el mismo error, si alguien están amable de decirme que es lo que hago mal. Saludo2 y muchas gracias.[/color]