sql >> Databasteknik >  >> RDS >> Mysql

Refererar till samma tabell både som mål för UPPDATERING och datakälla i MySql

En metod är att använda join istället:

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';

Jag kan föreslå att du lägger till något i where sats som meta.meta_value is not null , bara om förnamnet redan är ifyllt. Du verkar dock vilja kopiera fältet, vilket är vad ovanstående gör.



  1. Simulerar MySQL:s ORDER BY FIELD() i Postgresql

  2. Ta reda på var MySQL är installerat på Mac OS X

  3. Solr DataImportHandler-konfiguration

  4. Hur kan jag välja rader i omvänd ordning i MySQL?