![](/img/trans.png)
[英]How to update a table on one database from data of another table in another database in mysql
[英]Update MySQL database table with data from another database, based on matching field
使用PHP5,我需要訪問兩個不同的數據庫(在同一服務器上),但是具有不同的登錄憑據。 然后從一個數據庫獲取數據,並更新另一個數據庫以獲得與唯一字段值匹配的記錄。 到目前為止,這就是我所擁有的...
$link2->query("UPDATE db2.table2
INNER JOIN db1.table1
ON db1.table1.email = db2.table3.email
SET db2.table2.field2 = db1.table1.field1");
我完全迷失的地方是如何處理兩個數據庫具有不同連接的事實。 我要查詢哪個連接? 如何合並其他數據庫的連接?
若要使用單個查詢命中兩個不同的數據庫,必須滿足以下兩個條件:
如果這兩個條件都不成立,則需要通過與一個數據庫的連接來檢索程序信息,然后使用其連接來更新另一個數據庫中的表。 有時可能很難。
我相信,在這種情況下,最好的辦法是說服數據庫管理員向用於修改db2
的帳戶添加特權,以便它也可以讀取db1
。 (如果它們不在正常的服務器上,那當然無濟於事。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.