tirando ad indovinare:
se col2 è una chiave primaria (visto che la usi nel where) magari all'update la setti a null per qualche errore e quindi giustamente ti viene risposto "ueh, ma che stai a fa?"
la violazione del vincolo unique mi pare che parli da sola, ma magari potrebbe riferirsi all'errore di cui sopra
fatti stampare la query che esegui e controlla di non aver scritto male qualcosa
controlla di star facendo effettivamente un update e non una insert per qualche if/case fatto male

Rispondi quotando