Ir al contenido principal

Entradas

Mostrando entradas de marzo, 2012

[mysql] Error 1005 (150) Cannot resolve table name close to

Holas! Acá estoy con otro tip para programadores trabajando en MYSQL. Para quienes les sea familiar el error "1005 Can't create table... (150)" al intentar crear una tabla en la base de datos, recordarán que este error se gatilla principalmente por una incorrecta escritura de la definición de los campos referenciados. Así por ejemplo, si tenemos la siguiente definición de una tabla padre: CREATE TABLE tablota (  campo1 VARCHAR(25) NOT NULL,   campor2 VARCHAR(150) NULL,  PRIMARY KEY(campo1) ) TYPE=InnoDB; Y la consiguiente definición de una tabla hija: CREATE TABLE tablita (  campoA VARCHAR(10) NOT NULL,   campor1 VARCHAR(15) NOT NULL,  PRIMARY KEY(campoA),  INDEX (campo1),  FOREIGN KEY (campo1)   REFERENCES tablota(campo1)   ON DELETE RESTRICT ON UPDATE CASCADE ) TYPE=InnoDB; Sabremos que esto nos arrojará error, ya que la definición del campo "campo1" en la "tablita" no está idéntico que la definición en la "ta