Remove the primary key before run.
<?php /** Rotina para popular tabela do MySQL com massa de testes * Colaboração de Ribamar FS - http://ribafs.net - 14/03/2007 * Requer remoção da chave primária antes da execução. */ ?> <html><head><title>Inserir Registros de Teste</title></head> <body bgcolor=''> <h2 align=center>Cadastrar Tabela do MySQL com Massa de Testes</h2> <h3 align=center><font color=red>Remova chave primáia da tabela, antes de executar</font></h3> <h4 align=center>Observe que nem todos os tipos de dados foram contemplados, alguns ficarão como string</h4> <table align=center> <form method='POST' name=frmIns action='popula_table.php'> <tr><td>Host</td><td><input type=text name='host' value='127.0.0.1'></td></tr> <tr><td>Banco</td><td><input type=text name='banco' value='cliente'></td></tr> <tr><td>Usuáio</td><td><input type=text name='usuario' value='root'></td></tr> <tr><td>Senha</td><td><input type=text name='senha'></td></tr> <tr><td>Tabela</td><td><input type=text name='tabela' value='clientes'></td></tr> <tr><td>Registros</td><td><input type=text name='registros' value=5></td></tr> <tr><td></td><td><input type=submit name='popular' value='Popular'></td></tr> </form> </table> </body> </html> <?php if(isset($_POST['popular'])){ $host=$_POST['host']; $banco=$_POST['banco']; $usuario=$_POST['usuario']; $senha=$_POST['senha']; $tabela=$_POST['tabela']; $registros=$_POST['registros']; $numericos=$_POST['numericos']; $conexao=mysql_connect($host,$usuario,$senha); if ($conexao){ $sel=mysql_select_db($banco,$conexao); if(!$sel) die('Erro ao selecionar o banco'.mysql_error()); }else{ die ('Erro ao conectar ao banco '.mysql_error()); } $str="SELECT * FROM $tabela"; $consulta= mysql_query($str,$conexao); $nc=mysql_num_fields($consulta); $nr=mysql_num_rows($consulta); $n='';//numericos (int, tinyint, smallint, bigint, etc) $r=''; //reais (float e double) $s="'";//strings $d=date('Y-m-d'); //datas $dt=date('Y-m-d H:i:s');//datatimes $o=''; //outros $inscod .="INSERT INTO $tabela ("; for ($j = 0; $j < $nc; $j++) { $campo = mysql_field_name($consulta, $j); if ($j < $nc-1) $inscod .= "$campo,"; else $inscod .= "$campo"; } $inscod .= ")"; $inscod .= " VALUES ("; for ($j = 0; $j < $nc; $j++) { $tam = mysql_field_len($consulta, $j); //if(($tam)>20) $tam=20; //Caso queira limitar os campos ao máximo de 20 posições if ($j < $nc-1){ switch (mysql_field_type($consulta, $j)){ case 'int': $n=str_pad($n,$tam,'12345679890'); $inscod .= "$n,"; break; case 'real': $r=str_pad($r,$tam,'1234567890'); $inscod .= "$r,"; break; case 'string': $s=str_pad($s,$tam,"abcdefghijklmnopqrstuvxyz"); $inscod .= "$s',"; break; case 'date': $inscod .= "'$d',"; break; case 'datetime': case 'timestamp': $inscod .= "'$dt',"; break; case 'blog': $inscod .= "'$t'"; break; default: $o=str_pad($o,$tam,"abcdefghijklmnopqrstuvxyz"); $inscod .= "'$o',"; break; } }else{ switch (mysql_field_type($consulta, $j)){ case 'int': $n=str_pad($n,$tam,'1234567890'); $inscod .= "$n"; break; case 'real': $r=str_pad($r,$tam,'1234567890'); $inscod .= "$r"; break; case 'string': $s=str_pad($s,$tam,"abcdefghijklmnopqrstuvxyz"); $inscod .= "$s'"; break; case 'date': $inscod .= "'$d'"; break; case 'datetime': case 'timestamp': $inscod .= "'$dt'"; break; case 'blog': $inscod .= "'$t'"; break; default: $o=str_pad($o,$tam,"abcdefghijklmnopqrstuvxyz"); $inscod .= "'$o'"; break; } } } $inscod .=");"; for($r=1;$r<=$registros;$r++){ //echo $inscod; if(!mysql_query($inscod,$conexao)) die ("Erro na inclusão".mysql_error()); } } ?>