1. Scusa ma sono pignolo. All'inizio dello script inizializza l'array in questo modo$array = array();

2. Ti potrebbe essere utile stampare a video il contenuto dell'array in modo da vedere se al suo interno c'è quello che ti aspetti.

In ogni caso sono un po' perplesso. La caratteristica fondamentale di una chiave primaria è quella di essere univoca. Una delle caratteristiche dell'univocità è la non riassegnazione di una chiave anche se questa è teoricamente disponibile, dunque MySql di suo non lo fa. Mi domando che senso può avere forzare questa cosa. Sarebbe come comperare una birra senz'alcol e poi aggiungerci l'alcol a casa