MySQL中隨機生成固定長度字符串的方法
更新時間:2010年12月17日 14:03:03 作者:
在MySQL中有時需要隨機生成數(shù)字或字符串,隨機生產(chǎn)數(shù)字可直接使用rand()函數(shù),但是要隨機生成字符串就比較麻煩。
要隨機生成字符串代碼如下:
在MySQL中定義一個隨機串的方法,然后再SQL語句中調(diào)用此方法。
隨機串函數(shù)定義方法:
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;
使用隨機串函數(shù)方法示例:
UPDATE demotable SET demoname=rand_string(32) WHERE id>23
直接執(zhí)行即可。
在MySQL中定義一個隨機串的方法,然后再SQL語句中調(diào)用此方法。
隨機串函數(shù)定義方法:
復制代碼 代碼如下:
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;
使用隨機串函數(shù)方法示例:
UPDATE demotable SET demoname=rand_string(32) WHERE id>23
直接執(zhí)行即可。
相關(guān)文章
mysql導入sql文件報錯 ERROR 2013 2006 2002
今天在做項目的時候遇到個問題,就是往mysql里導入sql文件的時候總是報ERROR 2013 2006 2002,研究了一番才找到解決辦法,這里記錄下來分享給大家2014-11-11
mysql連接的空閑時間超過8小時后 MySQL自動斷開該連接解決方案
MySQL 的默認設(shè)置下,當一個連接的空閑時間超過8小時后,MySQL 就會斷開該連接,而 c3p0 連接池則以為該被斷開的連接依然有效。在這種情況下,如果客戶端代碼向 c3p0 連接池請求連接的話,連接池就會把已經(jīng)失效的連接返回給客戶端,客戶端在使用該失效連接的時候即拋出異常2012-11-11

