Mysql
用另一個表中的數據更新一個表
我有一個 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;