Apparently, it is not guaranteed in the transaction, but may change from operator to operator. There is a workaround that you can use as shown here :
BEGIN; SELECT @now := NOW(); INSERT ... VALUES (..., @now, ...); INSERT ... VALUES (..., @now, ...); UPDATE ... @now ...; COMMIT;
If you want to avoid this, just set the current date and time to a PHP variable and use it instead.
source share