Du kan oprette en selv-join med multiple tabellen UPDATE
syntaks:
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 derefter slippe din SUPERVISOR_NAME
kolonne, som overtræder 3NF
; i stedet kan du lave en anden selvtilslutning, når du henter dataene, hvis det ønskes:
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 .