mysql生成随机字符串的函数,mysql随机生成固定长度字符串的方法,在mysql中随机生成数字或字符串,随机生产数字可直接使用rand()函数,生成随机字符串的自定义函数代码。
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';
mysql中随机生成固定长度字符串的方法
在mysql中随机生成数字或字符串,随机生产数字可直接使用rand()函数,但随机生成字符串会麻烦一些,需要自定义函数来实现。
随机生成字符串代码:
在mysql中定义一个随机串的方法,然后再sql语句中调用此方法。
随机串函数定义方法:
复制代码 代码示例:
create definer=`root`@`localhost` function `rand_string`(n int) returns varchar(255) charset latin1
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;
调用随机串函数方法:
update demotable set demoname=rand_string(32) where id>23