what if you make a query that shows the results of one row (the one you want to copy)..
then you use the
while($row=mysql_fetch_array($sql))
{
$sql1=mysql_query("INSERT INTO table (col1,col2,col3,col4,col5) VALUES ($row[col1],$row[col2],$row[col3],$row[col4],$row[col5])")
or die("ERROR in sql1");
replace the col1 etc stuff with the table names.......
btw, for that primary key.. let's say you want to add 1 to it (1 becomes 2 etc), just use this (still in the while loop!):
$row[id]="$row[id]+1";
and then you just add the $row[id] into the table with the query above......