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

Clave primaria compuesta me devuelve error

Estas en el tema de Clave primaria compuesta me devuelve error en el foro de Mysql en Foros del Web. Buenas, actualmente estoy trabajando con MySQL y tengo una tabla con una clave compuesta por dos campos, el problema que tengo es que un campo ...
  #1 (permalink)  
Antiguo 06/10/2014, 07:34
 
Fecha de Ingreso: noviembre-2010
Mensajes: 234
Antigüedad: 14 años
Puntos: 2
Clave primaria compuesta me devuelve error

Buenas, actualmente estoy trabajando con MySQL y tengo una tabla con una clave compuesta por dos campos, el problema que tengo es que un campo se repite y el otro va alternando de tal forma que nunca se encuentran esos dos campos duplicados, pero sin embargo me devuelve el siguiente error:

Código TEXT:
Ver original
  1. Duplicate entry '284-44' for key 'PRIMARY'
  #2 (permalink)  
Antiguo 06/10/2014, 08:11
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Clave primaria compuesta me devuelve error

Postea el CREATE TABLE de esa tabla.
Lo más probable es que la clave esté mal definida, porque MySQL nunca se equivoca en este tema.
__________________
¿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 06/10/2014, 08:15
 
Fecha de Ingreso: noviembre-2010
Mensajes: 234
Antigüedad: 14 años
Puntos: 2
Respuesta: Clave primaria compuesta me devuelve error

Código MySQL:
Ver original
  1. CREATE TABLE `plaali` (
  2. `id_alimentos` int(11) NOT NULL,
  3. `id_plato` int(11) NOT NULL,
  4. `cantidad` int(4) DEFAULT NULL,
  5. PRIMARY KEY (`id_alimentos`,`id_plato`),
  6. KEY `plaali_plato` (`id_plato`),
  7. CONSTRAINT `plaali_alimentos` FOREIGN KEY (`id_alimentos`) REFERENCES `alimentos` (`id`),
  8. CONSTRAINT `plaali_plato` FOREIGN KEY (`id_plato`) REFERENCES `plato` (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8
  #4 (permalink)  
Antiguo 06/10/2014, 08:21
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Clave primaria compuesta me devuelve error

Mmm... no. La clave está bien definida.
La única posibilidad es que efectivamente el INSERT que intentas esté generando una duplicación de PK.
sólo quedaría hacerla prueba básica: Si "284" es id_alimentos, y "44" el id_plato, verifica:
Código MySQL:
Ver original
  1. FORM plaani
  2. WHERE id_alimentos = 284 AND id_plato = 44
SI no existe, no debería devolverte datos, y en ese caso habría que verificar el proceso de insercion a nivel programacion para analizar dónde está mandando la clave duplciada.
__________________
¿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: campo, clave, compuesta, devuelve, primaria, 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 14:24.