O erro diz tudo:
Duplicate entry ''
Então execute a seguinte consulta:
SELECT unique_id,COUNT(unique_id)
FROM yourtblname
GROUP BY unique_id
HAVING COUNT(unique_id) >1
Esta consulta também mostrará o problema
SELECT *
FROM yourtblname
WHERE unique_id=''
Isso mostrará onde há valores duplicados. Você está tentando criar um índice exclusivo em um campo com duplicatas. Você precisará resolver os dados duplicados primeiro e depois adicionar o índice.