mysql生成随机字符串函数分享

代码如下:

set global log_bin_trust_function_creators = 1; 

DROP FUNCTION IF EXISTS rand_string;

DELIMITER $$

CREATE FUNCTION rand_string(n INT)

RETURNS VARCHAR(255)

BEGIN

    DECLARE chars_str 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(chars_str , FLOOR(1 + RAND()*62 ),1));

        SET i = i +1;

    END WHILE;

    RETURN return_str;

END $$

DELIMITER ;

经测试,函数创建后与当前数据库绑定,下面语句可以查看函数相关信息。

代码如下:

SHOW FUNCTION STATUS WHERE Db='database_name';

相关推荐