Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Referenciando a mesma tabela tanto como destino de UPDATE quanto como fonte de dados no MySql


Um método é usar join em vez de:
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';

Sugiro adicionar algo ao where cláusula como meta.meta_value is not null , caso o primeiro nome já esteja preenchido. No entanto, você parece querer copiar o campo, que é o que o acima faz.