我希望每次向数据库插入新条目时,让数据库列自动生成大约 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 中删除了连字符,因为它们是多余的,并且在使字符串更加随机方面没有多大作用。