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

Como no duplicar contenidos

Estas en el tema de Como no duplicar contenidos en el foro de Mysql en Foros del Web. Hola amigos bueno tengo un problema necesito que en mi web no se dupliquen las entradas osea que no se creen 2 del mismo eh ...
  #1 (permalink)  
Antiguo 21/04/2013, 12:54
 
Fecha de Ingreso: junio-2012
Mensajes: 16
Antigüedad: 12 años, 5 meses
Puntos: 1
Como no duplicar contenidos

Hola amigos bueno tengo un problema necesito que en mi web no se dupliquen las entradas osea que no se creen 2 del mismo eh sabido que se usa DISTINCT pero no se como adaptarlo si alguien me pudiera ayudar


Código MySQL:
Ver original
  1. SELECT * FROM fblike ORDER BY id DESC LIMIT 0,10



cualquier ayuda sirve saludos !

Última edición por gnzsoloyo; 21/04/2013 a las 13:30 Razón: Codigo de programacion no permitido en los foros de BBDD.
  #2 (permalink)  
Antiguo 21/04/2013, 13:38
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: Como no duplicar contenidos

Duplicar las entradas de una tabla no tiene relación con el SELECT. El SELECT lee los datos, pero no los inserta, y en su caso la duplicidad está dada por los JOIN que se indiquen en la lectura.
La duplicidad de entrada de datos a una tabla muestra errores de diseño de la estructura de datos y una programación defectuosa de las altas, desde el momento en que no se estén haciendo las debidas validaciones antes de enviar el INSERT a la base.
De todos modos, lo que nos estás diciendo es completamente insuficiente para poder darte más consejos.

Respecto a DISTINCT, tienes un error de comprensión de su uso.
DISTINCT es una cláusula del SELECT que le indica al DBMS (MySQL en este caso) que devuelva registros diferentes para un SELECT dado. Pero en SQL se considera diferente que entre dos registros cualesquiera todos los datos de cada columna sean diferentes entre ambos registros, lo que quiere decir que si una tabla tuviese 38 campos, y dos registros tuviesen datos iguales en 37 de ellos, como el 38 sería diferente entre ambos, MySQL los interpretará como diferentes.
¿Se entiende?

Ejemplificando:

Cita:
12 35 78 9 54 2 988765 75 45 7 003 1567
12 35 78 9 54 2 988763 75 45 7 003 1567
Son diferentes para el SQL, porque en la séptima columna hay datos levemente distintos (988765 y 988763).

Esto significa que DISTINCT no tiene nada que ver con la solución a tu problema, que como te dije, es de otro orden (validaciones).
__________________
¿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: contenidos, duplicar, select, sql
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:42.