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

Refererer til den samme tabel både som mål for OPDATERING og datakilde i MySql

En metode er at bruge join i stedet:

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

Jeg kan foreslå at tilføje noget til where klausul såsom meta.meta_value is not null , bare hvis fornavnet allerede er udfyldt. Du ser dog ud til at have lyst til at kopiere feltet, hvilket er hvad ovenstående gør.



  1. MySQL - Hvordan søger man efter eksakt ordmatch ved hjælp af LIKE?

  2. Hvordan kan jeg udskrive den SQL-forespørgsel, der udføres efter Perls DBI udfylder pladsholderne?

  3. Hvorfor returnerer denne simple MySQL-forespørgsel ikke rækken?

  4. Brug af SQL Server-lagrede procedurer fra Python (pyodbc)