如何从表中更新/插入数据属于数据库“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
注意:这两个数据库在同一台服务器上
最佳答案 您必须通过DB /模式名称为表名添加前缀.像这样的东西:
INSERT INTO `database B`.`country` (columns)
SELECT columns FROM `database A`.`ips`;
当然,您必须使用与您的需求相对应的所需列名和/或表达式替换列.