Вот ссылка на причину этого вопроса: 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)"; ...
Это позволяет избежать любых возможных проблем с часовыми поясами или локальными форматами дат.