巨大的MySQL随机字母数字字符串

时间:2017-04-19 04:54:52

标签: mysql database uuid google-cloud-sql

我希望每次向数据库插入新条目时,让数据库列自动生成大约300 ++随机字母数字字符串。以下代码的大小仅为36。

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
;;

感谢所有回答这个问题的人。

1 个答案:

答案 0 :(得分:1)

一种选择是将多个调用的输出链接到uuid(),即

DELIMITER ;;
CREATE TRIGGER testdata
BEFORE INSERT ON testdata
FOR EACH ROW
BEGIN
    IF new.token IS NULL THEN
        SET new.token = CONCAT(REPLACE(uuid(), '-', ''), REPLACE(uuid(), '-', ''), ...)
    END IF;
END
;;

请注意,我从UUID中删除了连字符,因为它们是多余的,并且在使字符串更随机的方面做得不多。