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

Error al Crear tabla errno 121 errorN 1005

Estas en el tema de Error al Crear tabla errno 121 errorN 1005 en el foro de Mysql en Foros del Web. chicos estoy creando una base de datos para los estudio... pero resulta que me arroja error y no encuentro el porque.. agradeceria su ayuda.... Código: ...
  #1 (permalink)  
Antiguo 01/08/2011, 10:43
 
Fecha de Ingreso: septiembre-2008
Mensajes: 101
Antigüedad: 15 años, 6 meses
Puntos: 4
Pregunta Error al Crear tabla errno 121 errorN 1005

chicos estoy creando una base de datos para los estudio... pero resulta que me arroja error y no encuentro el porque.. agradeceria su ayuda....
Código:
-- -----------------------------------------------------
-- Table `zona_educativa`.`coordinador`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `zona_educativa`.`coordinador` (
  `ci_cordinador` INT NOT NULL ,
  `nombre` VARCHAR(255) NOT NULL ,
  `apellido` VARCHAR(255) NOT NULL ,
  `direc_hab` VARCHAR(255) NOT NULL ,
  `telf_hab` VARCHAR(255) NOT NULL ,
  `telf_cel` VARCHAR(255) NOT NULL ,
  `tipo_cargo` INT NOT NULL ,
  `cod_escuela` INT NOT NULL ,
  PRIMARY KEY (`ci_cordinador`) ,
  INDEX `tipo_cargo` (`tipo_cargo` ASC) ,
  INDEX `cod_escuela` (`cod_escuela` ASC) ,
  CONSTRAINT `tipo_cargo`
    FOREIGN KEY (`tipo_cargo` )
    REFERENCES `zona_educativa`.`cargo` (`tipo_cargo` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `cod_escuela`
    FOREIGN KEY (`cod_escuela` )
    REFERENCES `zona_educativa`.`escuela` (`cod_escuela` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1;
el error me lo da especificanmente en la tabla coordinador
Código:
Script line: 243	Can't create table 'zona_educativa.coordinador' (errno: 121)
no se porque no la puedo crear si me pudieran ayudar lo agradeseria... gracias de antemano
  #2 (permalink)  
Antiguo 01/08/2011, 10:50
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Error al Crear tabla errno 121 errorN 1005

Lo más probable es que tengas algún problema con las tablas referidas por las FK, tales como "escuela" y "cargo". Es donde más se dan estas situaciones.
Verifica:
1) Que ambas tablas sean InnoDB.
2) Que el tipo y rango de datos sea el mismo en ambas tablas (esta y la referida) sean exactamente los mismos.
3) Si la tabla referida ya contiene datos y esta tabla también, verifica que los registros que están en esta tengan en los campos que son FK valores que cumplan con la restricción de clave foránea.
__________________
¿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 01/08/2011, 11:16
 
Fecha de Ingreso: septiembre-2008
Mensajes: 101
Antigüedad: 15 años, 6 meses
Puntos: 4
Respuesta: Error al Crear tabla errno 121 errorN 1005

todas son de tipo InnoDB y los datos que se hacen referencia son de mismo tipo INT..
  #4 (permalink)  
Antiguo 01/08/2011, 11:25
 
Fecha de Ingreso: septiembre-2008
Mensajes: 101
Antigüedad: 15 años, 6 meses
Puntos: 4
Respuesta: Error al Crear tabla errno 121 errorN 1005

disculpen: pero encontre la solucion no se pueden crear indices con el mismo nombre CONSTRAINT `tipo_cargo`
sustituir:
CONSTRAINT `tipo_cargo_coordinado`
CONSTRAINT `tipo_cargo_subdirector`
lo repito contantemente en varias tablas y no se puede... disculpen.

espero que a alguien mas le sirva..
  #5 (permalink)  
Antiguo 01/08/2011, 11:33
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Error al Crear tabla errno 121 errorN 1005

Normalmente los diseños los solemos plantear en algún CASE del tipo MySQL Workbench, y estos automáticamente gestionan los nombres de las constraint.
TE recomiendo que no hagas esto a mano. Usa alguna herramienta como esa u otras semejantes.
Te ahorrarás dolores de cabeza.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 19/08/2011, 20:56
Avatar de Restart  
Fecha de Ingreso: marzo-2009
Mensajes: 84
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Error al Crear tabla errno 121 errorN 1005

Cita:
Iniciado por arkang31 Ver Mensaje
disculpen: pero encontre la solucion no se pueden crear indices con el mismo nombre CONSTRAINT `tipo_cargo`
sustituir:
CONSTRAINT `tipo_cargo_coordinado`
CONSTRAINT `tipo_cargo_subdirector`
lo repito contantemente en varias tablas y no se puede... disculpen.

espero que a alguien mas le sirva..
Tenia el mismo error y lo solucione con tu respuesta.

Por la sintaxis de tu script SQL asumo que trabajas con el MySQL Workbench. Te digo que no es necesario que cambies el nombre de CONSTRAINT manualmente en el script, solo basta que en el mismo MySQL Workbench donde creas las llaves foraneas, las crees con nombres diferentes a las del campo FK.

Y dejo esta cita:

Cita:
Si se proporciona un CONSTRAINTsímbolo, éste debe ser único en la base de datos. Si no se suministra, InnoDB crea el nombre automáticamente.
Fuente: http://dev.mysql.com/doc/refman/5.0/...nstraints.html

Etiquetas: tabla
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 09:16.