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

[SOLUCIONADO] Error: MySQL ha dicho: #1022 - No puedo escribir, clave duplicada en la tabla

Estas en el tema de Error: MySQL ha dicho: #1022 - No puedo escribir, clave duplicada en la tabla en el foro de Mysql en Foros del Web. Buenas tardes ¿alguien me puede ayudar con este erro r?, ya lo he revisado varias veces y NO doy con el problema. La consulta la ...
  #1 (permalink)  
Antiguo 02/03/2017, 18:43
 
Fecha de Ingreso: abril-2008
Ubicación: Morelia, México
Mensajes: 18
Antigüedad: 16 años
Puntos: 0
Exclamación Error: MySQL ha dicho: #1022 - No puedo escribir, clave duplicada en la tabla

Buenas tardes ¿alguien me puede ayudar con este error?, ya lo he revisado varias veces y NO doy con el problema.

La consulta la creo con phpMyAdmin o con Navicat en modo diseño y en ambos me bota el siguiente error:

MySQL ha dicho:
#1022 - No puedo escribir, clave duplicada en la tabla 'tbl_autobuses'

Código SQL:
Ver original
  1. CREATE TABLE `tbl_autobuses` (
  2. `autobusId`  INT(11) NOT NULL AUTO_INCREMENT ,
  3. `economico`  INT(11) NOT NULL ,
  4. `empresaId`  INT(11) NOT NULL ,
  5. `placa`  VARCHAR(10) NOT NULL ,
  6. `tipoPlaca` VARCHAR(3) NOT NULL ,
  7. `tarjeta`  VARCHAR(20) NOT NULL ,
  8. `year`  SMALLINT(4) NOT NULL ,
  9. `motor`  VARCHAR(20) NOT NULL ,
  10. `serie`  VARCHAR(20) NOT NULL ,
  11. `chasis`  VARCHAR(20) NOT NULL ,
  12. `ingreso`  DATE NOT NULL DEFAULT '2001-01-01' ,
  13. `estatusId`  INT(11) NOT NULL ,
  14. `modalidadId`  INT(11) NOT NULL ,
  15. `baseId`  INT(11) NOT NULL ,
  16. `cliente`  VARCHAR(10) NOT NULL ,
  17. `rendimiento`  DECIMAL(10,4) NOT NULL DEFAULT 3.00 ,
  18. `verificacion`  DATE NOT NULL DEFAULT '2001-01-01' ,
  19. `usuarioId`  INT(11) NOT NULL ,
  20. `fechaMov`  datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP ,
  21. PRIMARY KEY (`autobusId`),
  22. CONSTRAINT `fk_tbl_autobuses_tbl_empresa` FOREIGN KEY (`empresaId`) REFERENCES `tbl_empresas` (`empresaId`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  23. CONSTRAINT `fk_tbl_autobuses_tbl_modalidad` FOREIGN KEY (`modalidadId`) REFERENCES `tbl_modalidad` (`modalidadId`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  24. CONSTRAINT `fk_tbl_autobuses_tbl_bases` FOREIGN KEY (`baseId`) REFERENCES `tbl_bases` (`baseId`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  25. CONSTRAINT `fk_tbl_autobuses_tbl_estatus` FOREIGN KEY (`estatusId`) REFERENCES `tbl_estatus` (`estatusId`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  26. CONSTRAINT `fk_tbl_autobuses_tbl_usuarios` FOREIGN KEY (`usuarioId`) REFERENCES `tbl_usuarios` (`usuarioId`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  27. INDEX `fk_tbl_empresa` (`empresaId`) ,
  28. INDEX `fk_tbl_estatus` (`estatusId`) ,
  29. INDEX `fk_tbl_usuarios` (`usuarioId`)
  30. )
  31. ENGINE=InnoDB
  32. DEFAULT CHARACTER SET=utf8
  33. AUTO_INCREMENT=1
;[/CODE]

De antemano agradezco su apoyo, saludos.

Última edición por gnzsoloyo; 03/03/2017 a las 07:15
  #2 (permalink)  
Antiguo 02/03/2017, 18:53
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Error: MySQL ha dicho: #1022 - No puedo escribir, clave duplicada en la ta

Lo que pasa es que quieres insertar un registro duplicado en tu tabla, pero el duplicado esta en el campo llave en este caso el autobusid, revisa tu insert y revisa cuales son los datos que tienes en tu tabla :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 02/03/2017, 23:59
 
Fecha de Ingreso: abril-2008
Ubicación: Morelia, México
Mensajes: 18
Antigüedad: 16 años
Puntos: 0
Respuesta: Error: MySQL ha dicho: #1022 - No puedo escribir, clave duplicada en la ta

Cita:
Iniciado por Libras Ver Mensaje
Lo que pasa es que quieres insertar un registro duplicado en tu tabla, pero el duplicado esta en el campo llave en este caso el autobusid, revisa tu insert y revisa cuales son los datos que tienes en tu tabla :)
Estimado Libras, gracias por tu apoyo, te comento el problema NO es al Insertar, aun no he podido crear la tabla es por ello que me parece muy raro.

Gracias y sigo pendiente de sus sugerencias.
  #4 (permalink)  
Antiguo 03/03/2017, 07:18
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: MySQL ha dicho: #1022 - No puedo escribir, clave duplicada en la ta

Partamos de la base mas simple...
¿Existen ya las tablas tbl_empresas, tbl_modalidad, tbl_bases, tbl_estatus y tbl_usuarios ANTES de intentar crear esta?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 03/03/2017, 14:37
 
Fecha de Ingreso: abril-2008
Ubicación: Morelia, México
Mensajes: 18
Antigüedad: 16 años
Puntos: 0
Respuesta: Error: MySQL ha dicho: #1022 - No puedo escribir, clave duplicada en la ta

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Partamos de la base mas simple...
¿Existen ya las tablas tbl_empresas, tbl_modalidad, tbl_bases, tbl_estatus y tbl_usuarios ANTES de intentar crear esta?
Es correcto gnzsoloyo las tablas estan creadas y las PRIMARY KEY son identicas a las FOREIGN KEY como las estoy intentando crear.

Solo me falta checar la Base de Datos para ver si no se corrompió o algun fallo en MySQL.

Gracias por sus ideas y comentarios me dan Luz por donde buscar.
  #6 (permalink)  
Antiguo 03/03/2017, 14:41
 
Fecha de Ingreso: abril-2008
Ubicación: Morelia, México
Mensajes: 18
Antigüedad: 16 años
Puntos: 0
Respuesta: Error: MySQL ha dicho: #1022 - No puedo escribir, clave duplicada en la ta

Gracias a todos por su valioso apoyo, el problema fué que la BD se corrompió, ejecute la misma consulta en otra DB y funcionó sin problemas.

Saludos.

Etiquetas: clave, duplicada, php, sql, 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 18:33.