Al intentar actualizar un registro en una tabla postgresql 8.x mediante ODBC utilizando ADODB en donde existe algún campo timestamp cargado con segundos fraccionados ( por ejemplo "2011-01-01 10:30:59.1") genera el error :
"Error en la actualización basada en consultas: no se encontró la fila para actualizar"
Esto no tiene nada que ver con Postgresql sino con ADODB. El método "update" de un recorset de ADODB hace un UPDATE tabla SET ... WHERE compara_todos_los_campos
Para resolver el problema es necesario cambiar el campo de tipo timestamp por timestamp(0) de manera que la base de datos no permita ingresar de ninguna manera (triggers, aplicación PHP etc) fracciones de segundos. O bien, realizar la actualización con ADODB mediante una SQL manual con el método "execute" y listo.
No hay comentarios:
Publicar un comentario