2011-12-19 23 views
0

私のアプリケーションでは、データベーステーブル内のすべてのレコードに、一意でランダムに生成されなければならないコードを追加する必要があります(ユーザーにとっては予測できません)。私はコード(java ee)でこれを生成することは悪い考えであると考えています。なぜなら、ユニティシティをチェックするためにデータベース管理システム(MySQL)を頻繁に要求する必要があるからです。 サイズがnの変数char(varchar)のように、このコードをSQLで生成する手助けができますか? ご協力いただきありがとうございます。MySqlでランダムでユニークなvarchar(n)を生成しますか?

+0

[MySQLで一意のIDを生成する方法は?](http://stackoverflow.com/questions/1467581/how-to-generate-unique-id-in-mysql)の可能な複製。また、興味深い:[MySQLを使ってランダムな&ユニークな8文字列を生成する](0120-555-501) – RandomSeed

答えて

1

UUID()

この作品は、ウィル?もちろん、UUID型ではなく、UUIDの値をVARCHARとして格納する必要があります。

+0

この可能性を検討します。ご回答いただきありがとうございます。 – nabil

+0

+1 - UUID関数を使用することは、この問題を解決する唯一の正しい方法です。 – TehShrike

0

MySQLは、そのフィールドに一意索引を割り当てると、値の一意性を検証できます。たとえば、列名、年齢、コードを持つ表があり、コードに一意のキーを設定すると、コードが重複しないようになります。

このようにして、任意の言語(たとえばJava EE)で一意の文字列/数字/任意のものを生成し、その文字列を表に挿入できます。キーがすでに使用されている場合、MySQLは挿入を拒否します。 http://dev.mysql.com/doc/refman/5.1/en/alter-table.html

希望に役立ちます:

はここで、テーブルにキーを追加することにMySQLのドキュメントへのリンクです。

幸運。

+0

ありがとうございました。 – nabil

関連する問題