2013-08-29 67 views
4

如何從表中更新/插入數據屬於數據庫「A」到表屬於數據庫「B」?如何從表中更新/插入數據屬於數據庫「A」到表屬於數據庫「B」?

例如,我在IPS的名稱的表如下屬於數據庫「A」

CREATE TABLE `ips` (
`id` int(10) unsigned NOT NULL DEFAULT '0', 
`begin_ip_num` int(11) unsigned DEFAULT NULL, 
`end_ip_num` int(11) unsigned DEFAULT NULL, 
`iso` varchar(3) DEFAULT NULL, 
`country` varchar(150) DEFAULT NULL 
) ENGINE=InnoDB 

讓我們假設我有一個第二表國家屬於數據庫「B」

CREATE TABLE `country` (
`countryid` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, 
`name` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, 
`ordering` smallint(5) unsigned NOT NULL DEFAULT '0', 
`iso` char(2) NOT NULL, 
PRIMARY KEY (`countryid`) 
) ENGINE=InnoDB 

注意:這兩個數據庫都在同一臺服務器上

回答

0

在SQLServer中它就像;

插入到X SELECT * FROM otherdatabase.owner.table

可擴展到選擇列等。

在Oracle中,你可能需要bvetween他們一個數據庫鏈接。 TH對我來說很久以前;-)

+0

我在MySQL的 –

2

您必須在DB /模式名稱的前面加上表名。類似的東西:

INSERT INTO `database B`.`country` (columns) 
    SELECT columns FROM `database A`.`ips`; 

當然,你必須與你的需求所需的列名和/或表達式替換columns

+0

工作似乎不錯謝謝了很多西爾 –

+0

和更新,我認爲同樣的方式 –

+0

@NejmeddineJammeli無處不在,你有一個'\'表\'',你可以寫'\'數據庫\'。 \'表\''。如果這對你有幫助,不要忘記投票; –

相關問題