巨大的 MySQL 随机字母数字字符串
Huge MySQL Random Alphanumeric String
我希望让数据库列在每次向数据库中插入新条目时自动生成大约 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
;;
感谢所有回答此问题的人。
一种选择是将多次调用 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 中删除了连字符,因为它们是多余的,并且在使字符串更加随机方面没有做太多事情。
我希望让数据库列在每次向数据库中插入新条目时自动生成大约 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
;;
感谢所有回答此问题的人。
一种选择是将多次调用 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 中删除了连字符,因为它们是多余的,并且在使字符串更加随机方面没有做太多事情。