Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/03/2010, 05:13
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: 17 años
Puntos: 2658
Respuesta: Problema campo TimeStamp

Cita:
os explico mi problema. Tengo que borrar de BB.DD. todos los registros anteriores a cierta fecha, el caso es que el campo donde se almacena la fecha se llama Timestamp y, claro, da error al ejecutar el delete.
El hecho de que te de error el DELETE no tiene relación con el tipo de campo.
En todo caso, si el problema es la fecha, lo que puede suceder es que no le estés indicando correctamente en la sentencia el valor de comparación como para que interprete bien la fecha.

Postea el error que te da, y la sentencia usada, de esa forma podremos saber dónde está la falla

Otra posibilidad es que estés tratando de borrar registros que tienen restricciones de FK. Caso en el que la cosa debe hacerse de otro modo, o bien, si es correcta la sintaxis que estás mostrando:
Código SQL:
Ver original
  1. DELETE FROM tabla t
  2. WHERE t.TIMESTAMP > 2010-03-01
Tiene dos problemas:
1. TIMESTAMP es un tipo de columna, por lo tanto es palabra reservada y no debe ser usada como nombre de objeto de base de datos.
2. Estás pidiendo que te compare el valor de una columna con una operación matemática, ya que 2010-03-01 no es una fecha, sino el resultado de
(2010-3-1), o sea 2006, como número.

Pruebalo así (si es que ese campo se llama de esa forma):
Código SQL:
Ver original
  1. DELETE FROM tabla t
  2. WHERE t.`TIMESTAMP` > '2010-03-01'
__________________
¿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; 16/03/2010 a las 05:22