9

この質問の背後にある理由へのリンクは次のとおりです: NOW() for DATETIME InnoDB Transaction Guarantee?

したがって、任意の数のクエリ (たとえば 20 以上のクエリ) を持つ単一のトランザクションが、複数のテーブルにわたって 100%正確で一貫した NOW()値を持つようにするには、NOW() を使用して DATETIME に相当する変数を割り当てる PHP の方法は何ですか (現在の TIMESTAMP ではありません)。

4

3 に答える 3

18

1つの方法は次のとおりです。

<?php
$nowFormat = date('Y-m-d H:i:s');
$sql = "INSERT INTO table SET field='$nowFormat'";
$sql2 = "INSERT INTO table SET field='$nowFormat'";
...
于 2012-04-12T18:39:04.887 に答える
4

PHP をまったく使用しないように、MySQL で実行します。

select @now := now();

insert into .... values (@now)
select from ... where x=@now
etc....
于 2012-04-12T18:34:04.700 に答える