Andreas Vogt: MySQL Update

Hallo, ich habe 2 Tabellen mit den gleichen Benutzernamen als Feld. Von der einen möchte ich das Feld user_email in die andere kopieren. Mein first Ty:

Update wp_users set user_email = (Select email_address from smf_members AS M inner join wp_users As U on U.user_nicename = M.member_name)

War natürlich mehr error als try. Aber wie geht das richtig?

Gruß Andreas

  1. ReHallo und frohes Neues Jahr,

    Update wp_users set user_email = (Select email_address from smf_members AS M inner join wp_users As U on U.user_nicename = M.member_name)
    
    

    probier mal:

    Update wp_users target, smf_members source  
    set target.user_email = source.email_address  
    where target.user_email = source.email_address;  
    
    
    

    Ich hoffe, dass ich die Tabellen jetzt nicht durcheinander gebracht habe ;-)

    Neujahresgrüße
    Reginald

  2. Tach!

    ich habe 2 Tabellen mit den gleichen Benutzernamen als Feld. Von der einen möchte ich das Feld user_email in die andere kopieren. Mein first Ty:

    Update wp_users set user_email = (Select email_address from smf_members AS M inner join wp_users As U on U.user_nicename = M.member_name)
    

    War schon gar nicht ganz schlecht für den Anfang. Die Subquery aber braucht kein Join. Die soll ja genau einen Wert aus der anderen Tabelle bringen. Also ganz einfach

    Select email_address from smf_members M where M.member_name = U.user_nicename
    

    Das nennt sich dann correlated Subquery.

    dedlfix.