scusa se ho scritto id della riga, intendevo codice identificativo del prodotto (non è la chiave della tabella).

Però il problema rimane, non è il problema che il prodotto 200899 scala di uno se ne cancello uno precedentemente creato (quel codice non cambierà, se no che codice identificativo sarebbe!), il problema invece è che quando cancello il 200833, i record da 99 tornano a essere 98, e con il tuo metodo il nuovo inserito avrà ancora codice identificativo 200899 (che esiste già).

In pratica il conteggio dei record non è affidabile perchè genera facilmente dei duplicati (se capisco male correggimi!)