これは、PHP と MYSQL に精通している人向けです。
データベースへの各エントリに対して、一意ではあるがランダムな長い番号の ID を生成する方法を探しています。
いつものことから始めたくない、
もう少し長いものが欲しいです。これを達成する簡単な関数またはコードスニペットを知っている人はいますか?
これは、PHP と MYSQL に精通している人向けです。
データベースへの各エントリに対して、一意ではあるがランダムな長い番号の ID を生成する方法を探しています。
いつものことから始めたくない、
もう少し長いものが欲しいです。これを達成する簡単な関数またはコードスニペットを知っている人はいますか?
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;
関数 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 ))