Ver Mensaje Individual
  #6 (permalink)  
Antiguo 25/10/2013, 14:01
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: Sobreescribir llave única

Cita:
A ver si lo entiendo, ¿al especificar una fecha como llave única no me debería de sobrescribir automáticamente si inserto un dato igual?
No. El índice UNIQUE dispara un error al intentar realizar un INSERT con una clave ya existente. Por definición, ese es el comportamiento esperado.
Cita:
Si no fuera así ya sé que tengo que utilizar la orden update pero ¿cómo hago para saber si la fecha introducida en el formulario ya existe en la base de datos?
¿Cómo?
Haciendo lo que hacemos todos: Realizando una consulta de verificación previa... No hay otro camino. Todas las aplicaciones que conoces funcionan así.
Las restricciones de bases de datos están diseñada precisamente para ayudarte a no meter la pata, y no para que las cosas te resulten fáciles.
Cita:
La otra opción que veo es crear un nuevo formulario que en vez de insertar modifique los datos que haya almacenados pero quiero evitar esto porque son muchos, por eso prefiero que me sobrescriba al introducir un dato igual.
En este caso te sugiero diseñar un sistema de actualización masiva, que implicaría recolectar primero todos los cambios a realizar, y luego procesarlos. Caso contrario sólo te queda hacerlo uno a uno.
En sistemas de manejo masivo de datos, es normal preparar precisamente funcionalidades para realizar actualizaciones masivas. Se diseñan para ese tipo de contingencias. Pero si el cambio debe ser rápido, no son funcionales.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 25/10/2013 a las 14:08