4

データベース「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」に属する2番目のテーブルcountryがあるとします。

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

注: 2 つのデータベースは同じサーバーにあります

4

2 に答える 2

2

テーブル名の前に DB/スキーマ名を付ける必要があります。そんな感じ:

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

もちろん、columns必要に応じて必要な列名や式に置き換える必要があります。

于 2013-08-29T11:38:57.640 に答える
0

SQLServer では次のようになります。

insert into x select * from otherdatabase.owner.table

列などを選択するために展開できます。

Oracle では、それらの間のデータベース リンクが必要になる場合があります。それは私にとってはずっと前のことでした;-)

于 2013-08-29T11:38:43.857 に答える