簡體   English   中英

如何從一個數據庫中選擇並在具有不同數據庫連接的php中通過單個查詢插入另一個數據庫

[英]how to select from one database and insert into another Database in a Single query with different Database connections in php

mysql_connect("localhost","root","");
mysql_select_db("database1");
mysql_query("INSERT INTO database2.categories (category_name,description,group_id,created)
  SELECT table1.name, table1.description, 12, UNIX_TIMESTAMP()
  FROM GiveArang_categories Where `p_id`= '225' ");

我需要將數據插入從第一個數據庫中選擇的第二個數據庫中。 這兩個數據庫具有不同的連接。 它需要在php中完成一次查詢。

(我知道)執行此操作的唯一方法是通過兩個單獨的連接。

像這樣:

mysql_connect("localhost","root","");
mysql_select_db("database2");
mysql_query("INSERT INTO database2.categories (category_name,description,group_id,created)");
mysql_close();

mysql_connect("localhost","root","");
mysql_select_db("database1");
mysql_query("SELECT table1.name, table1.description, 12, UNIX_TIMESTAMP() FROM GiveArang_categories Where `p_id`= '225' ");
mysql_close();

不幸的是,在MySql中沒有等效的Oracle dblink(這是在Oracle數據庫中的單個查詢中連接到另一個數據庫所需要的)。

另請參閱以獲取更多信息。

您可以彈出一個“ MySQL代理服務器”,使其位於服務器和數據庫框之間,這將使您將它們視為位於同一服務器上。 然后,您可以使用databasename.tablename您的查詢中通過相同的連接,以確定您的不同的數據庫。

如果兩個數據庫都在同一台mysql服務器上,則可以這樣記錄:

mysql_connect("localhost","root","");
mysql_query("INSERT INTO database2.categories (category_name,description,group_id,created)
  SELECT database1.table1.name, database1.table1.description, 12, UNIX_TIMESTAMP()
  FROM database1.GiveArang_categories Where database1.GiveArang_categories.p_id= '225' ");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM