SHOW VARIABLES LIKE 'log_bin_trust_function_creators';
SET GLOBAL log_bin_trust_function_creators = 1;//打开修改器
DROP FUNCTION IF EXISTS generate_string;
DELIMITER //
CREATE FUNCTION generate_string(n INT)
RETURNS VARCHAR(255)
BEGIN
DECLARE string_scope VARCHAR(100) DEFAULT
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
DECLARE return_str VARCHAR(255) DEFAULT '';
DECLARE i INT DEFAULT 0;
WHILE i < n DO
SET return_str = CONCAT(return_str,SUBSTRING(string_scope, FLOOR(1 + RAND()*62 ),1));
SET i = i +1;
END WHILE;
RETURN return_str;
END //
DELIMITER ;
使用的时候就像concat这种函数一样,直接调用generate_string(5)即可产生五位字符串。