在MySQL中有時(shí)需要隨機(jī)生成數(shù)字或字符串,隨機(jī)生產(chǎn)數(shù)字可直接使用rand()函數(shù),但是要隨機(jī)生成字符串就比較麻煩。
要隨機(jī)生成字符串代碼如下:
在MySQL中定義一個(gè)隨機(jī)串的方法,然后再SQL語(yǔ)句中調(diào)用此方法。
隨機(jī)串函數(shù)定義方法:
CREATE DEFINER=`root`@`localhost` FUNCTION `rand_string`(n INT) RETURNS varchar(255) CHARSET latin1BEGIN 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;
使用隨機(jī)串函數(shù)方法示例:
UPDATE demotable SET demoname=rand_string(32) WHERE id>23
直接執(zhí)行即可。
聯(lián)系客服