Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/03/2015, 10:46
Avatar de gnzsoloyo
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, 5 meses
Puntos: 2658
Respuesta: me podrían ayudar con mi base de datos en php y mysql

Cita:
necesito que mi base de datos guarde información pero que al ingresar ciertos tipos de datos estos no se repitan ya que tienen que ser caracteres únicos.

un ejemplo seria la cédula, que en mi país es un numero de un documento de identificación único y que dos personas no lo pueden tener igual.

como hago para que al ingresarlo en un formulario y al darle el botón enviar, este me de una advertencia de que ya ese dato fue ingresado.
La cosa tiene dos soluciones que se debe aplicar al mismo tiempo, pero en etapas diferentes...
1) Todo campo cuyo valor debe ser único se debe declarar como UNIQUE al momento de crear la tabla en la Base de Datos. Siempre. De ese modo te aseguras que sin importar qué ingresen, un mismo documento no pueda aparecer en dos registros diferentes.
2) Siempre, siempre, SIEMPRE se deben validar los datos que el usuario ingresa ANTES de insertarlos. La base no hace magia. Si no validas desde la aplicación los datos, consultando a la base, siempre dejarás que se ingrese basura que no debería estar, o le mandas a hacer una tarea a la base que por definición de estructura no te permitirá, perdiendo un valioso tiempo.

Una de las cosas que ningún programador quiere hacer, al menos cuando comienza a aprender, es precisamente validar, pero es la etapa más importante de cualquier proceso de ABM de cualquier aplicación.
No la esquives.
Valida, y recién cuando todo esté OK, inserta.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)