mysql - day - Al ejecutar UPDATE... datetime=NOW(); ¿Todas las filas actualizadas tendrán la misma fecha/hora?
mysql today datetime (5)
Cuando ejecuta algo similar a:
UPDATE table SET datetime = NOW();
en una tabla con 1 000 000 000 de registros y la consulta tarda 10 segundos en ejecutarse, ¿tendrán todas las filas exactamente el mismo tiempo (minutos y segundos) o tendrán diferentes tiempos? En otras palabras, ¿será el momento en que se inició la consulta o cuando se actualiza cada fila?
Estoy ejecutando MySQL, pero estoy pensando que esto se aplica a todos los dbs.
Deben tener el mismo tiempo, se supone que la actualización es atómica, lo que significa que cualquiera que sea el tiempo que tarde en realizarse, se supone que la acción ocurre como si todo estuviera hecho al mismo tiempo.
Si está experimentando un comportamiento diferente, es hora de cambiar por otro DBMS.
http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_now
"NOW () devuelve un tiempo constante que indica la hora a la que la instrucción comenzó a ejecutarse. (Dentro de una rutina almacenada o desencadenador, NOW () devuelve el momento en que la rutina o declaración desencadenante comenzó a ejecutarse.) Esto difiere de la comportamiento para SYSDATE (), que devuelve la hora exacta en la que se ejecuta a partir de MySQL 5.0.13. "
Si el resultado final es importante para usted, PRUEBE PRIMERO, simplemente porque ''debería'' funcionar como está documentado, no significa que lo hará. Si tienes dudas, prueba!
La respuesta sqlite es
update TABLE set mydatetime = datetime(''now'');
en caso de que alguien más lo estuviera buscando.
Asigna NOW()
a una variable y luego actualiza la fecha y hora con la variable:
update_date_time=now()
ahora actualiza así
UPDATE table SET datetime =update_date_time;
corrija la sintaxis, según su requisito