Mysql
 sql >> Database >  >> RDS >> Mysql

Fare riferimento alla stessa tabella sia come destinazione di UPDATE che come origine dei dati in MySql

Un metodo consiste nell'usare join invece:

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

Potrei suggerire di aggiungere qualcosa a where clausola come meta.meta_value is not null , nel caso in cui il nome sia già compilato. Tuttavia, sembra che tu voglia copiare il campo, che è ciò che fa quanto sopra.