Mysql中如何快速的更新随机数
今天开发中遇到一个这样的场景,公司库中的每一个公司都需要增加一个唯一标识,这标识都是随机生成的,这时候去一个个添加显然是不科学的。
mysql函数
创建一个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 ;
使用:
update table set a=rand_string(10) //数字代表随机字符串的长度