sql >> Database >  >> RDS >> Mysql

Verwijzen naar dezelfde tabel als doel van UPDATE en gegevensbron in MySql

Een methode is om join te gebruiken in plaats daarvan:

UPDATE wp_usermeta meta JOIN
       wp_usermeta meta2
       on meta.user_id = meta2.user_id and
          meta2.meta_key = 'nickname'
SET meta.meta_value = meta2.meta_value
WHERE meta.user_id = %d AND meta.meta_key = 'first_name';

Ik zou kunnen voorstellen om iets toe te voegen aan de where clausule zoals meta.meta_value is not null , voor het geval de voornaam al is ingevuld. Het lijkt er echter op dat u het veld wilt kopiëren, wat het bovenstaande doet.



  1. LEEFTIJD [1, 2, 3] vs. LEEFTIJD TUSSEN 1 EN 3

  2. Waarom lopen twee gelijktijdige delete + insert-statements vast in een lege tabel?

  3. Alleen een tabel maken als deze niet in SQLite bestaat

  4. rails 3; actief record; waar; NIET GELIJK toestand vergelijking tussen twee kolommen in database