Mysql

用另一個表中的數據更新一個表

  • March 9, 2022

我有一個 Wordpress 表,我想從表 2 中獲取 user_email,然後根據 user_login將其導入1 上的 contact_email。user_login 和 user_id 等於相同的值。我試過的都沒有用。有什麼想法嗎?

表格1

 user_id|contact_email |contact_name
=======================================
123     |test@test.com |deft
124     |test3@test.com|deft3

表 2(使用者表)

user_login|user_email     |display_name
=======================================
123       |test@test.com  |deft
124       |test3@test.com |deft3

我試過了:

       UPDATE Table1
       SET contact_email = (SELECT Table2.user_email
                FROM Table2
                WHERE Table2.user_login = user_id )
       WHERE EXISTS (SELECT Table2.user_email
                FROM Table2
                WHERE Table2.user_login = user_id );

您可以使用下一個語法:

update tbl1
join   tbl2
on     tbl1.user_id = tbl2.user_login
set    tbl1.contact_email = tbl2.user_email;
select * from tbl1;
使用者 ID | 聯繫郵箱 | 聯繫人姓名
------: | :------------- | :-----------
 123 | 測試@test.com | 麻利 
 124 | test3@test.com | 靈巧3 

*dbfiddle [here](http://dbfiddle.uk/?rdbms=mariadb_10.2&fiddle=d70dc263f9879e1ff938761f193cafd0)*

這應該這樣做。根據 id 更新您的表內部連接第二個表。然後我們將電子郵件從一個表設置到另一個 ID 相同的表。希望能幫助到你。

UPDATE tbl1
INNER JOIN tbl2 ON tbl2.user_login = tbl1.user_id
SET tbl1.contact_email = tbl2.user_email;  

引用自:https://dba.stackexchange.com/questions/202704