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

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:
  1. ALTER TABLE 'table_name' ENGINE = InnoDB;

Para alterar una tabla ya existente, creando asi la relacion:

SQL:
  1. ALTER TABLE usuarios
  2. ADD CONSTRAINT country_id
  3. FOREIGN KEY (country_id)
  4. REFERENCES countries (country_id)
  5. 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)

Tags: , , , ,

Copyright © 2010 What I like! All rights reserved.