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 originalDELETE FROM tabla t
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 originalDELETE FROM tabla t
WHERE t.`TIMESTAMP` > '2010-03-01'