DROP FUNCTION IF EXISTS `random_primary`$$ CREATE 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$$ DELIMITER $$USE test $$DROP FUNCTION IF EXISTS `random_primary`$$CREATE FUNCTION `rand_string`(n INT) RETURNS VARCHAR(255) CHARSET latin1BEGIN DECLARE chars_str VARCHAR(100) DEFAULT 'ABCDEF SQL 生成随机 数SQL生成唯一 主键 newid()设置表字段作为 主键 随机 排序表记录 随机 取得表中任意N条记录 SELECT * FROM Northwind..Orders ORDER BY NEWID()  -- 随机 排序 SELECT TOP N * FROM Northwind..Orders ORDER BY NEWID( 生成不带-的 随机 主键 REPLACE (UUID(), '-', '') 生成指定范围的 随机 值数据 FLOOR(6000 + RAND() * 2000)   其中FLOOR()是舍去小数位取整 INSERT INTO bd_fz_average_land_price_trend ( AVERAGE_LAND_PRICE, MONTH,
主键 使用32位 随机 字符串;手动插入数据时,单独使用UUID() 函数 时,因为 - 而长度不够,并且不够同一;为了观赏性,统一性;想到了使用REPLACE() 函数 进行替换,代码如下: select REPLACE(UUID(), '-', ''); 注:以上内容仅提供参考和交流,请勿用于商业用途,如有侵权联系本人删除!
在日常测试工作中,经常需要在短时间内构造大量的测试数据,如果只是几条数据,可以直接insert,但是如果要上万条呢,最近接到一个测试任务,就是模拟第三方,全量获取数据,因不方便跟第三方直接沟通,所以选择直接从本地数据库全量获取数量,大批量插入数据有以下两种方法,第一种就是通过excel造好直接导入数据库,以下我们要讲的是第二种方法,通过sql的方式直接插入,所以就有了下面的sqlbegin d5d392d8-2bea-11e7-8e6a-28d244647ffc //使用不方便,无法在数据库中复制粘贴 2.    SELECT REPLACE(UUID(),'-',''); 12d34dd62beb11e78e6a28d244647ffc //把“-”替换成“”,编程32位,可以相互复制 3. java中代码 import java.
CREATE FUNCTION random_integer(min_val INT, max_val INT) RETURNS INT BEGIN RETURN FLOOR(RAND() * (max_val - min_val + 1) + min_val); 然后可以在创建表时使用该 函数 生成 主键 : CREATE TABLE my_table ( id INT NOT NULL PRIMARY KEY DEFAULT random_integer(1, 100), 这样就可以 生成随机 主键 了。需要注意的是,由于 随机 数可能会重复,因此需要对 主键 字段添加唯一性约束。