Puede hacer una autounión con la tabla múltiple UPDATE
sintaxis:
UPDATE users u
JOIN users s ON s.SUPERVISOR_USERNAME = u.USERNAME
SET u.SUPERVISOR_ID = s.ID
Véalo en sqlfiddle .
A continuación, debe dejar su SUPERVISOR_NAME
columna, que viola 3NF
; en su lugar, puede hacer otra autounión cuando recupere los datos si así lo desea:
SELECT u.ID, u.USERNAME, s.USERNAME AS SUPERVISOR_USERNAME, u.SUPERVISOR_ID
FROM users u LEFT JOIN users s ON s.ID = u.SUPERVISOR_ID
Véalo en sqlfiddle .