Получите DATETIME в php и отправьте его в MySQL для согласования транзакций

Вот ссылка на причину этого вопроса: NOW () для DATETIME InnoDB Transaction гарантировано?

Таким образом, чтобы обеспечить единую транзакцию с любым количеством запросов (например, 20+ запросов) имеет 100% точное и последовательное значение NOW () по нескольким таблицам, какой способ php назначить переменную, эквивалентную DATETIME, с помощью NOW () ( не текущий TIMESTAMP).

    Одним из способов может быть:

    <?php $nowFormat = date('Ymd H:i:s'); $sql = "INSERT INTO table SET field='$nowFormat'"; $sql2 = "INSERT INTO table SET field='$nowFormat'"; ... 

    Сделайте это в MySQL, так что вы вообще не используете PHP:

     select @now := now(); insert into .... values (@now) select from ... where x=@now etc.... 

    Ты можешь сделать:

     <? $now = time(); $sql = "INSERT INTO table SET field=FROM_UNIXTIME($now)"; $sql2 = "INSERT INTO table SET field=FROM_UNIXTIME($now)"; ... 

    Это позволяет избежать любых возможных проблем с часовыми поясами или локальными форматами дат.