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感謝您的回覆。這個字符串的目的就像某種認證。心靈建議我應用哪種更好的方法在crytographically獨特? –
UUID類型的值只能是唯一的,而不是不可預測的。對於密碼獨特的東西,你需要一個安全的隨機數發生器,然後以base-62或其他類型的東西進行編碼。這可能不是MySQL要處理的最好的事情,但你可以嘗試。使用外部編程語言要容易得多。 – tadman