mysql – 如何从表中更新/插入数据属于数据库“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

注意:这两个数据库在同一台服务器上

最佳答案 您必须通过DB /模式名称为表名添加前缀.像这样的东西:

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

当然,您必须使用与您的需求相对应的所需列名和/或表达式替换列.

点赞