L'erreur dit tout :
Duplicate entry ''
Exécutez donc la requête suivante :
SELECT unique_id,COUNT(unique_id)
FROM yourtblname
GROUP BY unique_id
HAVING COUNT(unique_id) >1
Cette requête vous montrera également le problème
SELECT *
FROM yourtblname
WHERE unique_id=''
Cela vous montrera où il y a des valeurs qui ont des doublons. Vous essayez de créer un index unique sur un champ avec des doublons. Vous devrez d'abord résoudre les données en double, puis ajouter l'index.