sql >> Base de Datos >  >> RDS >> Mysql

Columna de actualización de MySQL de otra columna en la misma tabla

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 .