Błąd mówi wszystko:
Duplicate entry ''
Uruchom więc następujące zapytanie:
SELECT unique_id,COUNT(unique_id)
FROM yourtblname
GROUP BY unique_id
HAVING COUNT(unique_id) >1
To zapytanie pokaże również problem
SELECT *
FROM yourtblname
WHERE unique_id=''
To pokaże, gdzie są wartości, które mają duplikaty. Próbujesz utworzyć unikalny indeks w polu z duplikatami. Musisz najpierw rozwiązać zduplikowane dane, a następnie dodać indeks.