1
私は、データベースに新しいエントリを挿入するたびに、約300 ++のランダムな英数字の文字列を自動生成するようにしたいと考えています。以下のコードは36のサイズしか使用できません。巨大なMySQLのランダムな英数字の文字列
DELIMITER ;;
CREATE TRIGGER testdata
BEFORE INSERT ON testdata
FOR EACH ROW
BEGIN
IF new.token IS NULL THEN
SET new.token = uuid();
END IF;
END
;;
ありがとうございました。
この文字列の目的は何ですか?英数字のシーケンスを生成するにはテクニック[このような](http://stackoverflow.com/questions/16737910/generating-a-random-unique-8-character-string-using-mysql)がありますが、暗号的にユニークなものが必要な場合はRAND()はあまりにも予測可能です。 – tadman
こんにちは。 @ tadmanあなたの返事をありがとう。この文字列の目的は、何らかの認証のようなものです。心は、私が叙述的にユニークなものを適用するためのより良い方法を提案しますか? –
UUID型の値は、実際には予測できないユニークであることを意図しています。暗号的にユニークなものについては、安全な乱数ジェネレータが必要となり、それをbase-62などでエンコードする必要があります。これはMySQLが処理するのには最適ではないかもしれませんが、試してみることができます。外部プログラミング言語の方がはるかに簡単です。 – tadman