如何生成包含5个随机字符的100条记录,并使用查询插入数据库。
我想插入此表:
codes
id (auto-increment)
codes
答案 0 :(得分:15)
试试这个 -
SELECT CONCAT(
CHAR( FLOOR(65 + (RAND() * 25))),
CHAR( FLOOR(65 + (RAND() * 25))),
CHAR( FLOOR(65 + (RAND() * 25))),
CHAR( FLOOR(65 + (RAND() * 25))),
CHAR( FLOOR(65 + (RAND() * 25)))
) random_string;
此查询生成从“A”到“Z”的ASCII代码,并从中生成随机字符串。 我不能说这种方式很优雅,但它有效; - )
答案 1 :(得分:4)
INSERT INTO codes_tbl (codes) VALUES (SUBSTRING(MD5(RAND()) FROM 1 FOR 5));
应该照顾它。
答案 2 :(得分:0)
在MySql中你可以这样做吗
insert into table ( SUBSTRING(MD5(RAND()) FROM 1 FOR 10) , field2 , field3) , ( SUBSTRING(MD5(RAND()) FROM 1 FOR 10) , field2 , field3) , .........
如果你想用Php做这件事。你可以 Check This Link
此外,您可以查看Stackoverflow已经提出的以下问题
答案 3 :(得分:0)
你可以尝试一下吗?:
CREATE DEFINER=`root`@`localhost` PROCEDURE `InsertOneHundredRandomCodes` ()
BEGIN
DECLARE ctr INT DEFAULT 0;
hundred_loop:LOOP
SET ctr = ctr + 1; -- increment
-- insert command here
INSERT INTO codes (codes)
SELECT SUBSTRING(MD5(RAND()) FROM 1 FOR 5) AS codes;
IF ctr = 100 THEN -- check if we should stop
LEAVE hundred_loop;
END IF;
END LOOP hundred_loop;
END//
创建该过程然后运行此命令:
CALL InsertOneHundredRandomCodes();
它应该为codes
值插入codes
100个随机值。