【问题标题】:How to insert random numbers MySqlMySql如何插入随机数
【发布时间】:2012-04-13 06:01:06
【问题描述】:

我是 MySql 的新手,我需要在表中插入 10000 个随机 2 位数字。有简单的方法吗?

【问题讨论】:

标签: mysql


【解决方案1】:

按照here 的描述使用RAND()。要生成 10 到 99 之间的 2 位随机数,请使用 FLOOR(10 + (RAND() * 90))

【讨论】:

  • 我在回答中使用了您的公式。为您 +1,这样我就可以避免侵犯版权!!!
【解决方案2】:

试试这个:

DELIMITER $$
CREATE PROCEDURE random_fill( IN cnt INT )
BEGIN

    fold: LOOP

         IF cnt < 1 THEN
             LEAVE fold;
         END IF;

        INSERT INTO foo ( bar ) VALUES ( 9 + CEIL( RAND() * 90 ) );

        SET cnt = cnt - 1;
    END LOOP fold;

END$$   
DELIMIMTER ;

要使用这个:

CALL random_fill(10000);

你需要改变的是这一行:

INSERT INTO foo ( bar ) VALUES ( CEIL( RAND() * higher ) );

foobar 替换为数据库中存在的内容。 可以创建一个过程,其中表和行的名称也作为参数提供,但这需要CONCAT 动态查询.. 看起来很hack'ish 和丑陋。

【讨论】:

  • 我建议在其中放置一笔交易。没有它,100K 插入超时 22k,有了它,100K 在我的开发机器上花费了 4.047 秒。
猜你喜欢
  • 1970-01-01
  • 2011-10-31
  • 1970-01-01
  • 2014-01-24
  • 1970-01-01
  • 1970-01-01
  • 2013-04-13
  • 2011-01-30
  • 2010-11-21
相关资源
最近更新 更多