在测试环境中,总需要有数据测试,此时可以用MySQL的脚本批量插入数据
主要有以下几个步骤 1. 建表 2. 设置log_bin_trust_function_creators 3. 创建函数 4. 创建存储过程 5. 调用存储过程
在创建function时可能会出现This function has none of DETERMINISTIC,此时需要开启log_bin_trust_function_creators
在mysql终端里输入以下命令查看是否开启
SHOW VARIABLES LIKE '%log_bin_trust_function_creators%';在mysql终端里输入以下命令开启
SET GLOBAL log_bin_trust_function_creators=1;该命令在MySQL重启后失效
创建产生指定长度的随机字符串的函数
DELIMITER $$ /*改成$$为结束符*/ CREATE FUNCTION rand_string(n INT)RETURN VARCHAR(255) BENGIN DECLARE char_str VARCHAR(100) DEFAULT 'QWERTYUIOPASDFGHJKLZXCVBNM'; DECLARE return_str VARCHAR(100) DEFAULT ''; DECLARE i INT DEFAULT 0; WHILE i<n DO SET return_str = CONCAT(return_str,SUBSTRING(char_str,FLOOR(1+RAND()*52),1)); SET i=i+1; END WHILE RETURN return_str; END$$创建产生随机的数字的函数
DELIMITER $$ /*改成$$为结束符*/ CREATE FUNCTION rand_num(n INT)RETURN INT(5) BENGIN DECLARE i INT DEFAULT 0; SET i= FLOOR(100+RAND()*10); RETURN i; END$$