2015-11-18 124 views
1

如果我有一個名爲page_info的表和三列id INT, visitor_id INT, duration DEC(4,1),那麼如何爲每列添加500,000個隨機值?例如,如果我想要總計500,000行,我希望我的id在1-500之間,我希望我的visitor_id在1-10,000之間,我希望我的持續時間在000.1-240.0之間。如何在My SQL中的列中插入500,000個隨機值?

+0

嘗試尋找到蘭特() – Coderchu

回答

0

創建存儲過程,諸如:

CREATE PROCEDURE `new_procedure`() 
BEGIN 
    DECLARE i INT DEFAULT 0; 
    DECLARE vId INT DEFAULT 0; 
    DECLARE vVis INT DEFAULT 0; 
    DECLARE vDur DECIMAL(4,1) DEFAULT 0.0; 

    WHILE i < 500001 DO 

     while vId = 0 do 
      set vId = FLOOR(RAND() * 500); 
     end while; 

     while vVis = 0 do 
      set vVis = FLOOR(RAND() * 10000); 
     end while; 

     while vDur = 0.0 do 
      set vDur = RAND() * 240; 
     end while; 

     INSERT page_info (id, visitor_id, duration) VALUES(vId, vVis, vDur); 
     SET i = i + 1; 

     IF i < 500001 THEN 
      set vId = 0; 
      set vVis = 0; 
      set vDur = 0.0; 
     END IF; 

    END WHILE; 
END