Bạn có thể tự tham gia với nhiều bảng UPDATE
cú pháp:
UPDATE users u
JOIN users s ON s.SUPERVISOR_USERNAME = u.USERNAME
SET u.SUPERVISOR_ID = s.ID
Xem nó trên sqlfiddle .
Sau đó, bạn nên thả SUPERVISOR_NAME
của mình cột vi phạm 3NF
; thay vào đó, bạn có thể thực hiện một tự tham gia khác khi bạn truy xuất dữ liệu nếu muốn:
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
Xem nó trên sqlfiddle .