CREATE PROCEDURE `proc_init_table`(in table_name varchar(255),in affected_rows int,in table_schema varchar(255),OUT  _values tinytext)
begin
    DECLARE done INT DEFAULT 0;     
     declare _auto_increment varchar(255);
     declare _column_name varchar(255);
      declare _data_type varchar(255);
      declare _character_maximum_length bigint;
      
     declare cur_column cursor for select column_name,data_type,EXTRA,character_maximum_length from information_schema.columns where table_name='frontend_log';
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
    open cur_column;
    repeat
       fetch cur_column into _column_name,_data_type,_auto_increment,_character_maximum_length;
       if not done then
         if _auto_increment="auto_increment" then
           set _values=concat(_values,'\'\',');
         ELSEIF INSTR(_data_type,'int')>0 then
            set _values=concat(_values, floor(rand()*10000));
         elseif INSTR(_data_type,'text')>0 then
             set _values=concat(_values,md5(rand()*100));  
         elseif INSTR(_data_type,'char')>0 then
             set _values=concat(_values,left(md5(rand()*100),_character_maximum_length)) ;
         elseif _data_type='decimal' or _data_type='float' or _data_type='float unsigned' then
              set _values=concat(_values, floor(rand()*10000));   
          elseif _data_type='datetime' then
                 set _values=concat(_values,now()+ceiling(rand()*10000));   
        end if;
       end if;
    UNTIL done END REPEAT;
    CLOSE cur_column;end
call proc_init_table('',1,'',@out);
select @out;