9

UUID()MySQL に主キーを生成させるだけで、キーがサーバー間で一意になるなどの印象を受けました。

ただし、最後に挿入された UUID を取得する方法はありません。これには、挿入するたびに追加の select ステートメントを実行する必要があります。

UUID()MySQLが生成するのとまったく同じものをPHPに生成させることは可能ですか?

4

2 に答える 2

14

UUID()いいえ、 (完全に) 乱数であるため、PHP で MySQL とまったく同じものを生成することはできません。

あなたの問題はUUID()、MySQL での使用が好きであるが、新しいものを理解するために余分なクエリを実行したくないということのようUUIDです。

それではUUID、クエリで主キーとして使用される をPHP に作成させてみませんINSERTか?? php.net に関するこのコメントは、これを行う方法を示しているはずです。

これらのサンプル関数の使用:

$uuid = UUID::v4();
$sql = "INSERT INTO mytable (uuid, foo) VALUES ('{$uuid}', 'bar');";
echo "The UUID is: ". $uuid;

編集:そのページには、さまざまなタイプの を生成するいくつかのメソッドがありますUUIDv4疑似乱数ですが、別のバージョンを使用するか、独自のUUIDジェネレーターを作成できます。

于 2012-02-21T16:12:00.680 に答える