Beh percke' no?

in una tabella tu puoi decidere che campi inserire nn sei costretto ad inserirli tutti.

Ovviamente devi stare attento alla colonna, se e' not null con/senza valore di default ....

Il fatto e' perc' che quello che vuoi fare te

Codice PHP:
$query3 "INSERT INTO lavoro(nfattura) VALUES ('$nfattura') WHERE id=$id"
Non si puo' fare e che io sappia e' quasi un'eresia.

Quello che ti serve e' un update.
Se devi modificare dati gia' essitenti devi usare il comando "update"

Codice PHP:
$query3 "update lavoro set nfattura='$nfattura' WHERE id=$id"
Et voila' il campo verra' aggiornato con il nuovo valore.