Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Error 1452

Estas en el tema de Error 1452 en el foro de Mysql en Foros del Web. Tengo un error 1452 y no veo porque, la creación de las tablas no tengo ningún problema. El código CREATE TABLE IF NOT EXISTS `owners` ...
  #1 (permalink)  
Antiguo 17/12/2011, 15:46
Avatar de ziripot  
Fecha de Ingreso: diciembre-2011
Ubicación: Bilbao
Mensajes: 10
Antigüedad: 8 años
Puntos: 0
Error 1452

Tengo un error 1452 y no veo porque, la creación de las tablas no tengo ningún problema. El código
CREATE TABLE IF NOT EXISTS `owners` (
`users_id` INT(11) NOT NULL ,
`contact_name1` VARCHAR(255) NOT NULL ,
PRIMARY KEY (`users_id`) ,
CONSTRAINT `fk_owners_zz_users1`
FOREIGN KEY (`users_id` )
REFERENCES ` `zz_users` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION);

CREATE TABLE IF NOT EXISTS `owners_lang` (
`owners_users_id` INT(11) NOT NULL ,
`zz_languages_sef` VARCHAR(50) NOT NULL ,
`description` TEXT NULL DEFAULT NULL ,
PRIMARY KEY (`owners_users_id`, `zz_languages_sef`) ,
INDEX `fk_owners_lang_zz_languages1` (`zz_languages_sef` ASC) ,
CONSTRAINT `fk_owners_lang_owners1`
FOREIGN KEY (`owners_users_id` )
REFERENCES `owners` (`users_id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_owners_lang_zz_languages1`
FOREIGN KEY (`zz_languages_sef` )
REFERENCES `zz_languages` (`sef` )
ON DELETE NO ACTION
ON UPDATE NO ACTION);

Cuando intento hacer un insert en phpmyadmin con el insert del menu de la tabla owners_lang donde se puede elegir los datos a poner dentro, me da error 1452. Si alguien tiene una idea del porqué.

Muchas gracias.
  #2 (permalink)  
Antiguo 17/12/2011, 16:04
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: Error 1452

Tienes dos dependencias dentro de la tabla owners_lang: Una a la tabla owners y la otra a la tabla zz_languages. Las dos son mandatorias (obligatorias), por lo que ambos datos deben ser colocados si o si, y esos valores deben existir en las tablas referidas.
Tu INSERT no está respetando al menos una de esas FK (problema de integridad referencial).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 18/12/2011, 07:43
Avatar de ziripot  
Fecha de Ingreso: diciembre-2011
Ubicación: Bilbao
Mensajes: 10
Antigüedad: 8 años
Puntos: 0
Respuesta: Error 1452

Gracias por la respuesta pero tenia las dos tablas padre rellanadas con los valores. He encontrado la solución, tenía una tabla en Innodb y la otra en Myisam, poniendo las dos en Innodb, funciona.

Un saludo
  #4 (permalink)  
Antiguo 18/12/2011, 07:50
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: Error 1452

OK. La proxima vez procura postear la estructura de todas las tablas implicadas y hacerlo completo (no pusiste los ENGINE de las creaciones). En este caso era lo primero que yo hubiese visto... porque es algo muy evidente.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: error-1452, innodb, mysql-error, phpmyadmin
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:45.