MySQL Agregar un índice a la tabla solo con valores distintos

MySQL Agregar un índice a la tabla solo con valores distintos

Tengo una tabla que se ve así: http://sqlfiddle.com/#! 9/e39c3e/1

Mi objetivo es que el SID se vea como el Nombre + un índice. Entonces, cuando select * from Person debería tener una salida de:

Name        SID
Bruno       Bruno1
Carl        Carl2
Carl        Carl2
Danielle    Danielle3

He intentado hacer otra columna con los índices usando auto_increment pero, por supuesto, eso no funcionará como me gustaría.

Mostrar la mejor respuesta

¿Cuál es el punto de esto? Todas las copias del nombre tienen el mismo índice, por lo que son equivalentes.

Los índices únicos no son realmente únicos.

@Barmar Actualicé la pregunta, tienes razón, el índice no es único.

Escriba una subconsulta que asigne un número creciente a cada nombre distinto. Unir eso con la tabla en una consulta UPDATE.

UPDATE Person AS p1
JOIN (
    SELECT name, CONCAT(name, @index := @index + 1) AS newSID
    FROM (SELECT DISTINCT name
          FROM Person
          ORDER BY name) AS p2
    CROSS JOIN (SELECT @index := 0) AS var
) AS p2 ON p1.name = p2.name
SET p1.SID = p2.newSID

DEMO