Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/07/2015, 09:05
Avatar de socosa
socosa
 
Fecha de Ingreso: junio-2015
Ubicación: Asunción
Mensajes: 12
Antigüedad: 8 años, 10 meses
Puntos: 0
Error al querer agregar clave foránea con 'alter table'

He creado dos tablas: artículos y líneas.

La tabla 'Artículos' tiene el campo 'CodLinea' y la tabla 'Líneas' el campo 'CodSistema'
Como creé primero la tabla 'Artículos' y luego la tabla 'Lineas', no agregué clave foránea.
He intentado 3 veces hacerlo mediante la sentencia:
Código MySQL:
Ver original
  1. ALTER TABLE articulos
  2. ADD FOREIGN KEY (CodLinea) REFERENCES Lineas(CodSistema);

pero da el siguiente error:
Código MySQL:
Ver original
  1. Error Code : 1005
  2. Can't create table 'preventa.#sql-1b8_1' (errno: 150)

Probé también agregar la clave en modo diseñador (uso SQLyog), con el siguiente código generado:
Código MySQL:
Ver original
  1. alter table `preventa`.`articulos` add constraint `FK_articuloslineas` FOREIGN KEY (`CodLinea`) REFERENCES `lineas` (`CodSistema`) ON DELETE NO ACTION  ON UPDATE NO ACTION

Y sale este error:
Código MySQL:
Ver original
  1. Can't create table 'preventa.#sql-1b8_1' (errno: 150) al agregar clave foranea con alter table

¿Qué diablos es el problema aquí? Apenas estoy comenzando a crear tablas no sé porqué diablos no lo hace. Busqué en internet y es el código correcto para alterar tablas... qué rayos!!!

Por fa les pido que respondan mi post, he creado varios otros y jamás me los han respondido...

Última edición por gnzsoloyo; 28/07/2015 a las 09:18