sql >> Databasteknik >  >> RDS >> Mysql

MySQL Update Column från annan kolumn i samma tabell

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 .



  1. MySql Transponera rad till kolumn och kolumn till rad

  2. Mysql CASE NÄR JOIN Uttalandefel

  3. Skillnaden mellan ett JDBC-uttalande och ett förberett uttalande

  4. MySQL-fel:Du har ett fel i din SQL-syntax; kontrollera manualen som motsvarar din MySQL-serverversion för rätt syntax att använda nära