关于跨数据库连表处理数据解决方案:
解决方式:
使用federated引擎进行数据表映射
1.查看federated引擎是否开启
输入指令:show engines;
federated如果有.但是为No.则是可以使用,但是未开启.
需要开启.
开启方法:
在my.ini或者my.cof的[mysqld]下面添加federated
重启数据库.再次查询.开启成功
2.建立映射表. 映射表的字段需要和被映射表的字段相符,需要啥映射什么.
– auto-generated definition
CREATE TABLE doctor_users
(
doc_id INT(50) AUTO_INCREMENT
PRIMARY KEY,
doc_name VARCHAR(50) NULL
COMMENT ‘医生姓名’,
doc_picture_url VARCHAR(255) NULL
COMMENT ‘医生照片’,
doc_url VARCHAR(255) NULL
COMMENT ‘头像地址’
)ENGINE=FEDERATED
CONNECTION=‘mysql://被映射表的账号:被映射表密码@被映射表地址:3306/被映射表库/被映射表’;
在生成映射之后,为了防止映射表修改被映射表也一起修改.将其上锁lock table 映射表 read;
解锁所有的表 UNLOCK TABLES;
show OPEN TABLES where In_use > 0;查看被锁的表