1
Error #1005 – Can’t create table… en MySQL al intentar crear una relacion 1-M
Posted by Kelvin on Jul 25, 2009 in MySQL

Logo MySQL
Estaba intentando hacer una relacion (unos a muchos 1-M) en una base de datos en MySQL ya existente y recibia este error: #1005 - Can't create table 'table_name.#sql-344_126' (errno: 121)
La razon es que tenia varios asuntos sin resolver:
El campo a ser utilizado en la relacion tiene que ser llave primaria o indice (primary key or index).
Ambas tablas tienen que ser Engine InnoDB, para modificar una tabla existente puedes utilizar el siguente commando:
SQL:
-
ALTER TABLE 'table_name' ENGINE = InnoDB;
Para alterar una tabla ya existente, creando asi la relacion:
SQL:
-
ALTER TABLE usuarios
-
ADD CONSTRAINT country_id
-
FOREIGN KEY (country_id)
-
REFERENCES countries (country_id)
-
ON DELETE CASCADE ON UPDATE CASCADE
Pueden conseguir mas informacion en este blog: MySQL Error Number 1005 Can’t create table ‘.\mydb\#sql-328_45.frm’ (errno: 150)