MySQL中随机生成固定长度字符串的方法

  • A+
所属分类:数据库技术

MySQL中有时需要随机生成数字或字符串,随机生产数字可直接使用rand()函数,但是要随机生成字符串就比较麻烦。

要随机生成字符串代码如下:

在MySQL中定义一个随机串的方法,然后再SQL语句中调用此方法。

随机串函数定义方法:

  1. CREATE DEFINER=`root`@`localhost` FUNCTION `rand_string`(n INT) RETURNS varchar(255) CHARSET latin1
  2. BEGIN
  3. DECLARE chars_str varchar(100) DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
  4. DECLARE return_str varchar(255) DEFAULT '';
  5. DECLARE i INT DEFAULT 0;
  6. WHILE i < n DO
  7. SET return_str = concat(return_str,substring(chars_str , FLOOR(1 + RAND()*62 ),1));
  8. SET i = i +1;
  9. END WHILE;
  10. RETURN return_str;
  11. END;

使用随机串函数方法示例:

UPDATE demotable SET demoname=rand_string(32) WHERE id>23

直接执行即可。