Io farei così:
Codice PHP:
$mysqli = new mysqli("localhost", "user", "pass", "database"); /* Connessione al db */
$tab_1 = $mysqli->query("SELECT * FROM tabella_1"); /* Prelevo la prima tabella */
$codici = array(); /* Array in cui salvo i codici già usati, ha una struttura così: codice => occorrenze */
while ($riga = $tab_1->fetch_array()) { /* Ciclo la tabella */
$codice = $riga["codice"];
if (!isset($codici[$codice])) { /* Se non è ancora stato trovato il codice... */
$codici[$codice] = 1; /* Lo aggiungo all'array */
$postfisso = "";
}
else { /* Altrimenti ... */
$postfisso = "-" . $codici[$codice];
$codici[$codice]++; /* Incremento il contatore nell'array */
}
$mysqli->query("INSERT INTO tabella_2 (codice, val_1, val_2, ...) VALUES ('" . $codice . $postfisso . "', '" . $riga["val_1"] . "', '" . $riga["val_2"] . "', '" . $riga["..."] . "')"); /* Inserisco la nuova riga nella nuova tabella (nota che ho aggiunto $postfisso al codice) */
}
Edit
Preceduto con la stessa identica risposta 
forse con due righe di codice ti davo la soluzione ma io sono per l'insegnamento non per il copia e incolla.
Ups