Du kan göra en självanslutning med multipeltabellen UPDATE
syntax:
UPDATE users u
JOIN users s ON s.SUPERVISOR_USERNAME = u.USERNAME
SET u.SUPERVISOR_ID = s.ID
Se den på sqlfiddle .
Du bör sedan släppa din SUPERVISOR_NAME
kolumn, som bryter mot 3NF
; istället kan du göra en annan självanslutning när du hämtar data om så önskas:
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
Se den på sqlfiddle .