-3

これは、PHP と MYSQL に精通している人向けです。

データベースへの各エントリに対して、一意ではあるがランダムな長い番号の ID を生成する方法を探しています。

いつものことから始めたくない、

もう少し長いものが欲しいです。これを達成する簡単な関数またはコードスニペットを知っている人はいますか?

4

5 に答える 5

3

AUTO_INCREMENTテーブルのシードを変更してPRIMARY KEY、最初により大きな数を取得できます。

CREATE TABLE example (
  nid INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(50)
) AUTO_INCREMENT = 200000;

nidテーブルに行を挿入するときに生成される次の値は200001

既存のテーブルのシードを変更するにはAUTO_INCREMENT、次を使用できます。

ALTER TABLE example AUTO_INCREMENT = 200000;
于 2013-04-30T10:27:23.450 に答える
2

関数 UUID() を使用します。

あなたはでもっと読むことができます

http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html

mysql> SELECT UUID();
    -> '6ccd780c-baba-1026-9564-0040f4311e29'

UUID は、aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee 形式の 5 つの 16 進数の utf8 文字列で表される 128 ビットの数値です。

乱数の使用 RAND()

SELECT (FLOOR( 1 + RAND( ) *10000 ))
于 2013-04-30T10:28:08.357 に答える