Puoi fare un self-join con la tabella multipla UPDATE
sintassi:
UPDATE users u
JOIN users s ON s.SUPERVISOR_USERNAME = u.USERNAME
SET u.SUPERVISOR_ID = s.ID
Guardalo su sqlfiddle .
Dovresti quindi rilasciare il tuo SUPERVISOR_NAME
colonna, che viola 3NF
; invece, puoi fare un altro self-join quando recuperi i dati, se lo desideri:
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
Guardalo su sqlfiddle .